Skip to main content

Full text of "PC Tech Journal Volume 4 Number 6"

See other formats

















Bm 



Tall Tree Systems introduced a 2MB 


memory board called JRAM-2. It broke the 


and offered 


I/O modules, a warm re 


switching at an incredibly 


data saver, and high speed 


Then one day a 


low and it worked like 


hardware 


software company and a 


iSM 


company discovered the 


and issued 


EMS. In no time at all 


i. t 


. ‘ 


Tall Tree Systems introduced JRAM-3 


which usednhi 


the warm re 


switching and the low 


but now it can jggf multi-user and multi-tasking 


programs. Best of all it has a new 


called JLASER 


It lets your HP LaserJet or other laser printer 


based on the Canon 


■ 

do full page graphics and custom 


typesetting just like 


HP LaserJet, 
Rampllje, and 
Above Board 
are trademarks 
of Hewlett- 
Packard, 
Canon, AST 
Research Inc., 
and Intel Corp., 
respectively. 


Tall Tree Systems 

1120 San Antonio Road • Palo Alto, CA 94303 • (415) 964-1980 


The text and icons on this page were created on a Composition Technology International PageScan System 
using a Tall Tree JRAM-3 board and was output on a Corona Laser Printer. 

CIRCLE NO. 197 ON READER SERVICE CARD 



JRAM-3 

Rampage™ 

AboveBoard™ 

JLASER 

/ 



\ TS -%* 

/ 



9 

/ 

/ 


m 

/ 

/ 


$ 

269 

495 

395 





























the System/3X specialists. Call today for a 
dealer near you and discover how the PC/5251 
MATE can take the complication out of com¬ 
munications integration. 

(206) 462-8200 


The best solutions. The best support. 


Technology Group Inc. 


1601116th Ave. NE, Bellevue, WA 98004 (206) 462-8200 
CIRCLE NO. 121 ON READER SERVICE CARD 















If you can't share files on your network, 
you're using the wrong file manager. 



Be connected. Btrieve.® 


Networks can solve problems. But 
running a single-user file manager can 
create new ones: Lost updates. Garbled 
data. Trashed files. 

Btrieve® IN offers safe multi-user file 
management that protects your data 
when sharing files. And eliminates the 
need to rewrite your application for 
networking. Btrieve/N set the file 
management standard for the indus¬ 
try's most popular LANS: IBM's PC 
Network, Netware, PC Net and Ether- 
Series. And now Btrieve/N sets the 
standard for multi-user systems: 

XENIX, MultiLink Advanced and others. 

Fast. Btrieve/N is fast, too. It's written 
in assembly language especially for the 
IBM PC. And based on b-tree file in¬ 
dexing with automatic balancing for ac¬ 
cess speed that won't degrade as your 
database grows. With Btrieve/N, your 
applications always run fast. And users 
don't waste time waiting. 

Automatic file recovery. Btrieve/N 
provides automatic file recovery after 


a system crash, so accidents and power 
failures don't turn into database dis¬ 
asters. Your Btrieve data always comes 
back intact. 

Fully-relational data management. 

SoftCraft's entire family of products 
gives you a complete, fully-relational 
database management system. 
Rtrieve™/N adds report writing capa¬ 
bilities for generating the reports you 
heed. Xtrieve™/N speeds users 
through database queries with interac¬ 
tive, on-screen menus—no command 
language or special syntax. 

For professional programmers. 
Btrieve/N is the fast, reliable answer for 
all your application development. In 
any development language—BASIC, 
Pascal, COBOL, C, FORTRAN and 
APL. With multikey access to records. 
Unlimited records per file. Duplicate, 
modifiable, and segmented keys. 

With Btrieve/N, you can develop bet¬ 
ter network applications. And solve 
problems, not create new ones. 


NO ROYALTIES 


Suggested retail prices: Btrieve , $245; 

Btrieve/N, $595; Xtrieve, $195; 

Xtrieve/N, $395; Rtrieve, $85; 

Rtrieve/N, $175. Requires PC-DOS or 
MS-DOS 2.X, 2.X, or 3.X. 

Btrieve is a registered trademark and Xtrieve and 
Rtrieve are trademarks of So ft Craft Inc. 



SoftCraft Inc. 

P.O. Box 9802 #917 
Austin, Texas 78766 
(512) 346-8380 Telex 358 200 


CIRCLE NO. 201 ON READER SERVICE CARD 



















SIX NEW SHAPES OF BASIC / TED MIRECKI 

The shortcomings of BASICA are attacked in very different ways and with varying degrees of success in six alternative BASIC 
products. They combine the resilient strengths of traditional BASIC with the advanced concepts of structured programming. 


MECHANICAL CAD / VICTOR E. WRIGHT 

CADKEY is a powerful 2-D/3-D production drafting system, but it lacks certain features that may limit its appeal to some 
designers. It is aimed primarily at the mechanical engineering segment of the microcomputer CAD market. 


INSTANT SCREENS / AUGIE HANSEN 

Rapid display changes may produce an annoying screen interference in text mode on the IBM Color Graphics Adapter. The 
problem can be avoided by using horizontal and vertical retrace periods and swapping the visual and active page. 


EQUATION SOLVING BY FORMULA/ONE / VICTOR E. WRIGHT 

Scientific, engineering, and business environments often require a system or process to be modeled with a set of mathematical 
relations. Formula/One from Alloy Computer Products, Inc. automates the mathematical modeling operation. 


PC VERSIONS OF iRMX / RICHARD M. FOARD 

Realtime Systems: Real-Time Computer Science Corporation has adapted Intel’s venerable 8086-family realtime operating system, 
iRMX, to fit the IBM PC family. Its products, PC/RTX and AT/RTX, are reviewed in this continuing series on realtime systems. 


A DATA MANAGER WITH FLEXIBLE DESIGNS / RICHARD N AARONS 

Micro Data Base Systems has drawn on its product, MDBS III, considered a standard in the minicomputer and mainframe worlds, ^ 
to create KnowledgeMan/2 for microcomputers. It is a powerful and flexible data manager designed for application developers. 1 jO 


1 

FE€H 

[OURNAl 

r 

JUNE 1986 

L VOLUME 4, NUMBER 6 




PC Versions of iRMX 126 Mechanical CAD 80 Equation Solving by Formula!One 110 


11 

DIRECTIONS 

Bigger, Smaller, 
Faster, Slower 

17 

LETTERS 

31 

PRODUCT OF 
THE MONTH 

The Portable II 


32 

TECH RELEASES 
47 

TECH NOTEBOOK 

RTDs and Thermocouples 

187 

PROGRAMMING PRACTICES 

Accessing the Print Queue 


195 

PRODUCT WATCH 

Zim Release 2.5 
BASIC Development System 
Whitesmith's C Compiler 
TakeTwo 

207 

BOOK REVIEWS 

Practical CAD 


209 

TECH MART 
211 

TECH BOOK 
218 

CALENDAR 

219 

READER SERVICE CARD 


Cover computer graphic • Dov Jacobson 

























PRODUCTIVITY 

TOOLS 


From Opt-Tech Data Processing 


Opt-Tech Sort 


TM 






ALL NEW Version 3.0 features even faster sorting, 
record selection, output record reformatting, 
dBASE III files, comma delimited fields, and much 
more. This high performance sort/merge/record 
selection utility can be used as a stand-alone program 
or called as a subroutine from most languages. 

Supports unlimited filesizes, multiple input files and 
fixed or variable length records. Many special file types 
are supported including Btrieve and dBASE. Up to 
nine sort control fields (ascending or descending), all 
common data types supported. Output files can be 
combinations of full records, keys or pointers, subsets 
of the input file fields, and literal values. 

Written in assembly language for high performance. 
Example: 4,000 128 byte records sorted to give key 
and pointer in 30 seconds. $149. 

On-Line Help" 

A comprehensive utility for adding help windows to 
your programs. It provides efficient utilities and 
routines for interfacing your programs with the help 
system routines and help message libraries. 

Help windows are displayed in a fraction of a second. 
You have total control over the contents of the window, 
its size and its position on the screen, including the 
display and border colors. 

On-Line Help can be interfaced with interpreted Basic 
and all popular compilers. $149. 

Scroll & Recall" 

Allows you to conveniently scroll back through data 
that has gone off the top of your display screen. Up to 
27 screens of data can be recalled or written to a disk 
file (great for documenting systems operations). 

Allows you to easily recall and edit your previously 
entered DOS commands and data lines without re¬ 
typing. 

Scroll & Recall is very easy to use. It’s a resident utility 
that’s always there when you need it! $69. 


All programs IBM PC/XT/AT & MS-DOS compatible. 

Visa, M/C, AMEX, Check, Money Order, COD 
or Purchase Orders accepted. 

Quantity and Dealer Discounts Available 

To order or to receive additional 
information write or call: 

Opt-Tech Data Processing 

P.O. Box 678 - Zephyr Cove, NV 89448 
(702) 588-3737 





' OURNA 

VOL. 4, NO. 6 


PUBLISHER: Newton Barrett 
EDITOR: Will Fastie 


EDITORIAL 

MANAGING EDITOR: Marjory Spraycar 
EXECUTIVE EDITOR: Julie Anderson 
TECHNICAL EDITORS: Jeff Duntemann, Caroline Halliday 
ASSOCIATE TECHNICAL EDITOR: Dan Beale 
SENIOR COPY EDITOR: Susan Holly 
COPY EDITOR: Gail Shaffer 
PROOFREADER: Kathleen Peddicord 
NEW PRODUCTS EDITOR: Carole Autenzio 
ADMINISTRATIVE ASSISTANT: Diana Carey 
CONSULTING EDITORS: Thomas V. Hoffmann, Richard M. Foard 
CONTRIBUTING EDITORS: Steven Armbrust, Don Await, Michael 
Covington, Ted Forgeron, Augie Hansen, Ted Mirecki, Max Stul 
Oppenheimer 

ART & PRODUCTION 

ART DIRECTOR: Ina Saltz 
ASSOCIATE ART DIRECTOR: Sharon Reuter 
ASSISTANT ART DIRECTOR: Sandra Ray 
ART SECRETARY: Sabrina Reynolds 

ADVERTISING PRODUCTION MANAGER: Lisa Franey Ducey 
EDITORIAL PRODUCTION COORDINATOR: Eve Hinderer 

ADVERTISING SALES 

ADVERTISING DIRECTOR: Rita Burke 
MARKETING COORDINATOR: Julie Henderson 
ADVERTISING COORDINATOR: Michele Fischetti 
DISTRICT MANAGERS: Rosemarie Caruso, Jan Schultz—East Coast; Ted 
Bahr, Bill Bush, Phyllis Egan—West Coast 
ACCOUNT REPRESENTATIVES: Pat Toohey, Jane Anderson—East Coast; 
Arlene Braithwaite — Midwest; Pam Sigal, Jane Anderson—West Coast 

CIRCULATION 

CIRCULATION MANAGER: Charles Mast 
CIRCULATION SALES DEVELOPMENT: Daniel Rosensweig 
MEDIA MANAGER: Melinda Kendall 

ZIFF-DAVIS PUBLISHING COMPANY 

PRESIDENT: Kenneth H. Koppel 

SENIOR VICE PRESIDENT, Marketing: Paul Chook 

VICE PRESIDENT, Operations: Baird Davis 

VICE PRESIDENT, Controller: John Vlachos 

VICE PRESIDENT, Creative Services: Herbert Stem 

VICE PRESIDENT, Circulation: Alicia Marie Ivans 

VICE PRESIDENT, Circulation Services: James Ramaley 

VICE PRESIDENT, Marketing Services: Ann Poliak Adelman 

VICE PRESIDENT, Development: Seth Alpert 

VICE PRESIDENT: Hugh Tietjen 

BUSINESS MANAGER: Gary A Gustafson 

PRODUCTION DIRECTOR: Walter J. Terlecki 

ZIFF COMMUNICATIONS COMPANY 

PRESIDENT: Philip B. Korsant, EXECUTIVE VICE PRESIDENT: James D. Dunning, Jr., 
SENIOR VICE PRESIDENTS: Philip Sine, Kenneth H. Koppel; VICE PRESIDENTS: Laurence 
Usdin, William L. Phillips, J. Malcolm Morris, Steven C. Feinman, TREASURER: Selwyn Tauh- 
man ; SECRETARY: Bertram A. Abrams 

EDITORIAL OFFICE 

PC TECH JOURNAL, The World Trade Center, Suite 211, Baltimore, MD 21202. 
301/576-0770. FAX (group 3): 301/576-9603. MCIMail: PCTECH. PCTECHline: 
301/576-PCTJ. Telex: 6502565932 MCI. 

ADVERTISING OFFICES 

(East Coast/Midwest) One Park Ave., New York, NY 10016. 212/503-5185. 
(West Coast) 3460 Wilshire Blvd., Los Angeles, CA 90010. 213/387-2100; 

11 Davis Drive, Belmont, CA 94002. 415/598-2290. 

SUBSCRIPTION INQUIRIES 

PC TECH JOURNAL, P.O. Box 2968, Boulder, CO 80321. Subscription service: 
800/525-0643, 303/447-9330. Back issues: send $7/copy ($8 outside U.S.) to 
Ziff-Davis Publishing, One Park Ave., 4th floor, New York, NY 10016. 

PC TECH JOURNAL (ISSN 0738-0194) is published monthly, $29.97 for one year, $52.97 for 
two years, $69 97 for three years. Additional postage $6 for Canada & Foreign by Ziff-Davis 
Publishing Company, One Park Avenue, New York, NY 10016. Second-Class Postage paid at 
New York, NY and at additional mailing offices. POSTMASTER: Send address changes or 
subscription inquiries to P.O. Box 2968, Boulder, CO 80321. 

PC TECH JOURNAL is an independent journal, not affiliated in any way with International 
Business Machines Corporation. IBM is a registered trademark of International Business 
Machines Corp. Entire contents Copyright ® 1986 Ziff-Davis Publishing Company. All rights 
reserved; reproduction in whole or in part without permission is prohibited. Direct written 
requests to Jean Lamensdorf, Licensing Manager, Reprints/Rights & Permissions, One Park 
Avenue, New York, NY 10016. 



CIRCLE NO. 222 ON READER SERVICE CARD 























Save On New Model of Periscope 



SUMMER SALE. CHECK OUT THE REVIEWS. 


You don't have to spend thousands, or even hundreds, 
of dollars to buy a high-performance debugger. 
Through August 31, the new software-only Periscope 
II-X is yours for only $95! Periscope II, normally $145, is 
only $125! 

NEW MODEL. 

Periscope I includes both a break-out switch for "spon¬ 
taneous" debugging and a RAM board to protect the 
debugger from programs that overwrite memory. Peri¬ 
scope II includes a break-out switch that doesn't require 
an extra slot to install. And the new Periscope II-X is 
Periscope II without the break-out switch. So you can 
now get Periscope with no hardware at all! 


* "Periscope strikes a balance of power and features that 
will please serious PC programmers." — Jeff Dunte- 
mann, PRODUCT OF THE MONTH, PC Tech Journal 1/86 

* "This symbolic debugger, with its breakout button and 
powerful command options, stands unrivaled for its flex¬ 
ibility . . . Periscope's diverse features > affordable price , 
and portability place it in a class by itself." —Ward 
Christensen, "Breaking out with Periscope," PC Tech Journal 
3/86 

* "Periscope represents the finest software debugger avail¬ 
able in its class." — Andrew Fried, Computer Shopper, 4/86 


NEW RELEASE. 

The new version 2.1 enhances all models with many of 
the features users have requested. Call for details. 


Other reviews have appeared in Computer Language 
(3/86), the Boston Computer Society's PC Report 
(1&2/85), and Programmer's Journal (Vol. 3, No. l). 


FM CONVINCED PERISCOPE IS FOR ME! 

Please send me the following: 

Periscope II-X_@ $95*. . 

Periscope II with 

Switch_@ $125*.. 

Periscope I with Board 
& Switch_@ $295.. 

Add Shipping Cost (see below).. 

Total Order Amount.. 

Shipping-$3 UPS; $5 COD; $8 Canada; $24 Foreign 
We accept qualified PO's in the U.S. 

‘Prices good through August 31, 1986 


Ship to: 

Name_ 

Company _ 

Address _ 

City/State/Zip _ 

Telephone_ 

Payment:D Check enclosed □ COD □ MC □ Visa 

Card No. _ 

Expires - 

Signature - 

PERISCOPE REQUIRES an IBM PC, XT, AT, 
Compaq, or other close compatible; 128K RAM; 
DOS 2.0 or later; one disk drive; and an 80-column 
monitor. 


Take advantage of the low sale 
prices while they last . . . Order 
your Periscope today! To order, clip 
the coupon, or call TOLL-FREE 

SB 800/722-7006 B 

30-Day Money-Back Guarantee 


Get Your Programs Up and Running; 

up PERISCOPE! 

Data Base Decisions 
14 Bonnie Lane 
Atlanta, GA 30328 
404/256-3860 

CIRCLE NO. 215 ON READER SERVICE CARD 

















































••• 















The Cordata Desktop Printshop™ has always been the 
best value in PC-compatible laser printers. 

With speed and flexibility that the others can't match. 

For example, we put 38 type fonts on diskette, not 
expensive cartridges. And let you mix up to 32 fonts in a 
single document. Automatically. 

A high-speed graphics interface transfers data up to 30 
times faster than Hewlett-Packard's LaserJet+, and because 
most Desktop Printshop features are implemented in soft¬ 
ware, they’re easy to update. 

And because 
Epson™ emulation is 
standard, the Desktop 
Printshop has a ready- 
to-run solution for 
many programs that other 
laser printers can’t use. 


Not to mention 

being easier 


But now the Desktop Print- 
shop is an even better value. 

A new forms design software program comes with the 
Desktop Printshop that lets you create documents quickly—and easily— 
using pull-down menus, not complicated commands. 

We’ve also included the industry-acclaimed Wordstar 
2000™ word processing program. So you can start producing 
near-typeset quality memos, reports, and correspondence 
right away. 

Last, but not least, we’ve lowered the price of the 
Desktop Printshop to $2995, including forms design 
software, Wordstar 2000 and 38 fonts on diskette. 
So don't settle for just any laser printer. 
Demand the Desktop Printshop. 

All it takes is a call to Cordata at: (800) 
621-6746 (in CA: (805) 495-5800; in Canada: 
(604) 984-0641) for the name of your nearest 
Desktop Printshop dealer. 

After all, how can you afford 
not to look your best? 


cordcitci 




The Desktop 
Printshop 

CORDATA, 275 E. Hillcrest Drive, Thousand Oaks, CA 91360 
TELEX 650-2696270; in Europe: Holland 032-18111 
CIRCLE NO. 117 ON READER SERVICE CARD 










AW. . . 

WHAT THE HECK! 


ProDesign II 

The Easy to Use CAD System! 

ProDesign II is one of the most advanced GAD packages available 
for microcomputers. We think it’s absolutely the easiest to use. 
With competitive GAD systems priced at $ 1500 to $2500, we were 
posed with the problem of setting our price. 

ProDesign II works a wide variety of digitizers and mouse 
devices. It works with nearly any plotter or printer available for 
the IBM PC. ProDesign II can produce plotter quality drawings 
on ordinary dot matrix printers - a feature found exclusively on 
ProDesign IL ProDesign II utilizes a virtual screen 4 times the 
size of the physical screen to make it practical to produce draw¬ 
ings on a normal resolution IBM monitor. ProDesign II is truly 
an outstanding GAD package for the IBM PC and compatibles. 
The question we had to answer was: Even though we had abetter 
product, should we price it higher than the other GAD systems, 
on the market? 

We did market studies and calculations. We consulted with 
experts We drew charts and graphs. We used the finest spread¬ 
sheet programs money could buy. When it came right down to it,, 
we still didn’t know what to sell ProDesign II for. $2995? $2495?’ 
$1995? We even considered $995. 

Then, in the great American tradition, we said, “AW.. .WHAT' 
THE HECK! Let’s see the other guys beat this price!” ProDesign 
II costs $299. At that price, you can’t go wrong! 

AW.. .WHAT THE HECK! 

$299.95 



THE SPACE SHUTTLE DISCOVERY 


American Small Business Computers 
118 South Mill 
Pryor, Oklahoma 74361 
918 / 825-4844 




Why should you get ProDesign II? Four simple reasons: 

1. ProDesign II is easy to use. You won’t have to spend 
weeks learning simple functions. 

2. ProDesign II works with the hardware YOU own. 
ProDesign II supports most printers and plotters 
available for the IBM PC, as well as a wide variety 
of digitizers and mouse devices. 

3. ProDesign II can produce plotter quality output 
on ordinary dot matrix printers. (The B1 Bomber 
above was printed on an Epson RX-80.) 

4. ProDesign II is priced 70% to 80% below competitive 
products! 

What do you need to run ProDesign II? An IBM PC or compatible 
with 512K RAM and graphics capability. 

How do you get ProDesign II? See your local computer dealer 
or contact us. 

ProDesign II - The Easy to Use CAD System! 


CIRCLE NO. 218 ON READER SERVICE CARD 







































































HAVE YOU STRIPPED YET? 


Its a question more and more PC owners are asking. And no wonder. What 
everyone is talking about is Softstrip™. The revolutionary technology that is 
changing the shape of computer software. 

The Cauzin Softstrip System is more than just software or data on paper. Because 
when you invest in this system, you can do much more with your computer, and 
for far less than you are probably spending now. You can even create and print out 
your own data strips with a special StripWare package that’s only $19.95. 

TAKE OUR ADS (SUCH AS THIS ONE) 

It’s part of our expanding StripWare™ Library containing programs, data, art, 
spreadsheet, macros and templates. The Library features a variety of software 
applications and you’ll find new material appearing each month in such leading 
computer magazines. 

When you invest in the Softstrip System, you get the Softstrip reader, a special 
storage base, and a full one-year replacement warranty. Also included with your 
purchase is a complete Accessory Kit for your PC containing connector cables and 
communications software to link your computer to the reader. 

In addition, you’ll find a StripWare Sampler with 48 programs from a line-up 
of popular authors and publishers that includes Addison-Wesley, David Ahl, Family 
Computing, Tim Hartnell, Hayden Books, PC Tech Journal, Osborne/McGraw- 
Hill, The Waite Group, and John Wiley & Sons. 

When you become a Softstrip reader owner, you also get a FREE one year 
StripWare Club membership with programs mailed to you monthly. You’ll even 
receive a FREE Cauzin Effect Newsletter filled with the latest updates and news 
about Softstrip developments. 

The Cauzin Softstrip System is just that, a complete system that opens up a 
new world of computer programs and data on paper. And it’s all yours for only 
$199.95! 

For the Softstrip System Dealer nearest you, (or if there isn’t one in your area, 
to order), call toll free: 1-800-533-7323 (in Connecticut: 203-573-0150) 

ANOTHER WAY OF 
LOOKING AT PROGRAMS 

How many times have you read about a particular program in a magazine or book and thought 
to yourself that you’d like to have it? It could be the program you’ve been looking for to solve 
an important applications problem. But, somehow there never seems to be time to type it in, 
no matter how critical it might be for you. A few publishers sell their monthly programs in 
disk format, but you have to wait several weeks for delivery and you need the program now. 

The Cauzin Softstrip™ System offers you an efficient, low-cost alternative that will let you 
import programs you’re interested in right from the publication. 

The data strips on the right contain the code listings for two articles from this issue of 
PC TECH JOURNAL: “Instant Screens for PC Programs” by Augie Hansen, and “Accessing ^ I 
the DOS Print Queue” by Patrick Finan. People who own Softstrip readers don’t have to wait ■ 
to use these programs, they’ll read them into their PCs from this page. Shouldn’t you be a 
Softstrip reader owner? Why wait! 

Read in the data strips following the instructions that came with your Cauzin Softstrip™ 
reader. Please refer to the individual articles for details on how to use the listing files. 

Reprinted with permission of PC TECH JOURNAL 
Copyright © 1986 Ziff-Davis Publishing Company 



StripWare Library No. 291 


Cauzin Systems, Inc. 

835 South Main St., Waterbury, CT 06706 

CIRCLE NO. 156 ON READER SERVICE CARD 








































ATRON BUGBUSTERS 
GREASE BORLAND LIGHTNING 


“If I were starting a software company again, from scratch, Atron’s AT PROBE™ would be among my very first 
investments. Without Atron’s hardware-assisted, software debugging technology, the flash of Turbo Lightning™ 
would be a light-year away’.’ Philippe Kahn, President, Borland 



$ 3 Qr- Mur % % W \ 

4 2 46 ! «0: fe 1 ' 1 % 

§ 5 140 m:P k . X 

6 6 45 %mp§> ■ 

7 7 78 Wicre 2 no® 

sis 134 Mien A, *c<m 

9 j 9 1 % PR;V„ k \ ^4 
•to ! IS j 2 * IfcBf.*** : 

11 ' 12 | 66 : ThlnkT^ **: 

12 h0) 139 i PfS: 8 epjj • ) 

13 1 11 j 138 j Worcia» - 5 v.i 

14 j 13 j 65 . Word | 

15 j 24 j 7 "9 " • 

i«I-m 4 ^ 

17 ! 16 17 J Helix < ' - 3 •- 

IS ! IS I 23 Hoyden^ fetf'Vc 

19 j 19 I 36 j 

20 ? 20 ! 58 | Frames.... ; hw/m- 

21 j 14 j 17 Microsoft 

22 26 ! 47 | SyperCiei-v. ZWtKti 

23)21 j 33 ' 

24|-| 1 

25 ! 17 j 22 | Clfci. - a. J3l 

26 22 1 48 I 

27 % 134 j® Ji 

28 igw 


144 

SHM'ktCk - 

«l * -.hf 
gfelfamtC' A 
Wfcjfii# 

**«* 
- 8 

t SW3 - 


Hot tM 

p^rnlm ****** m wwc 

wgmnm Mm 24. 

h mkbsn 

TTTs iiST* 




tafta*Se Mstumas* 
. ! .^^1- 


HOW BORLAND 
DOES SO MUCH, 

SO WELL, SO FAST 

We asked Borland 
International president 
Philippe Kahn to share 
his secrets for rapidly 
taking a good idea and 
turning it into rock-solid 
reality. How does the 
Borland team do so 
much, so well, so fast? 

He begins, “I 
remember when Atron 
used the June 24, 1985 
Wall Street Journal chart 
of top-selling software in 
an ad!’ [Note: At that 
time, seven of the top ten 
software packages were 
created by Atron cus¬ 
tomers; it’s now now 
nine out of ten.] “Side- 
Kick was number four, 
and I let Atron quote me 
in saying that there 
wouldn’t have been a 
SideKick without 
Atron’s hardware- 
assisted debuggers. 

“You might say light¬ 
ning has literally struck 
again. Turbo Lightning 
made number four on 
SoftSel’s Hotlist within weeks of its introduction! And 
again, I say we couldn’t have done it without Atron 
debugging technology. 

“Cleverly written code is, by definition tight, recur¬ 
sive, and terribly complex’’ he continues. “Without the 
ability to externally track the execution of this code, 
competent debugging becomes very nearly impossible!’ 

Concludes Philippe, “And after Turbo Lightning was 
solid and reliable, Atron tuning software turned our 
Probes into performance analyzers. How do you think we 
greased our lightning?” 

Philippe, along with a couple million or so of your 
satisfied customers, we say congratulations on yet 
another best-selling product. We can’t wait to see what 
awesomely useful technology will come shooting out of 
Borland International next. 


HOW BUGBUSTERS KEEP YOU FROM GETTING SLIMED 

The AT PROBE is a circuit board that 
plugs into your PC/AT. It has an 
umbilical which plugs into 
the 80287 socket and 
monitors all 80286 activity. 

Since AT PROBE can 
trace program execution in 
real time, and display the 
last 2048 memory cycles in 
symbolic or source-code 
form, you can easily answer 
the questions: “How did I 
get here?” and “What are 
those silly interrupts 
doing?” 

It can solve spooky 
debugging problems. 
Like finding where 
your program over¬ 
writes memory or I/O - 
impossible with soft¬ 
ware debuggers. 

You can even do 
source-level debugging 
in your favorite lan¬ 
guage, like C, Pascal or 
assembler. And after 
your application is 
debugged, the AT 
PROBE’s performance 
measurement software 
can isolate perfor¬ 
mance bottlenecks. 
Finally, the AT PROBE has its own 1-MByte of mem¬ 
ory. Hidden and write-protected. How else could you 
develop that really large program, where the symbol 
table would otherwise take up most of memory. 

LOOK AT IT THIS WAY. 

History shows that non-Atron customers don’t stand a 
very good chance of making the Top Ten list. Lightning 
really does have a way of striking twice! 

The PC PROBE™ is $1595 and the AT PROBE is 
$2495. So call Atron today. You can be busting some 
really scarey bugs tomorrow. And maybe, just like 
Borland, you can also bust some records. 




THE DEBUGGER COMPANY 

20665 Fourth Street • Saratoga, CA 95070 • 408/741-5900 


Copyright © 1985 by Atron Corp. PC PROBE™ and AT PROBE™ Atron. SideKick™ and Turbo Lightning™ Borland International, Inc., Adv. by TRBA, 408/258-2708. 


CIRCLE NO. 203 ON READER SERVICE CARD 












DIRECTIONS 


WILL FASTIE 


Bigger, Smaller, Faster, Slower 

A raft of new PCs from Compaq and IBM keep this 
editor’s blood flowing. 



H eaven. Editors of computer maga¬ 
zines, I think, live for the introduc¬ 
tion of new machines. There is nothing 
I like more than sitting in my office sur¬ 
rounded by many computers of all 
shapes, sizes, colors, and descriptions. 
Sometimes I even use them. 

We have really struck pay dirt lately 
with the RT/PC, the Compaq Portable II 
(see Product of the Month, this issue, 
p. 31), new XT models and options, a 
new AT model, and, finally, IBM’s long- 
awaited and long-predicted laptop, the 
PC Convertible (see Tech Releases, this 
issue, p. 32). Compaq has been busy 
the past two years developing its 286 
machines, but IBM has been relatively 
silent. Suddenly, an explosion of hard¬ 
ware and software from IBM and some 
excitement from Compaq shatters our 
complacency and editorial schedule. 

The big news is, of course, IBM’s 
announcement of the PC Convertible, 
the first true portable from Big Blue. 
Characterized by an LCD display no 
better than any other, limited memory 
(given the price), and sluggish disk 
performance, the significance of this 
machine must be found elsewhere. 

Indeed, the Convertible has some 
interesting aspects. First is the reported 
reason the machine lost out in bidding 
for the IRS contract: 3^-inch diskette 
drives. Concern over data interchange 
between machines with 5^-inch drives 
is mitigated by IBM-provided 3^-inch 
drives for the PC family and by the fact 
that data interchange requirements are 
probably not as great a problem as 
everyone thinks. What the IRS over¬ 
looked was not only the greater capac¬ 
ity of the little guys (720KB), but also 
the inherent reliability of the media. 

The smaller diskettes afford a much 
higher level of protection for the media 
with their rigid jacket and retracting 
access cover. For a portable computer 
that will be subjected to extremes of 
use, wear and tear on the media is a 
very important consideration. 


A second important characteristic 
of the PC Convertible is the reason for 
its name. The user can detach the LCD 
display and attach a regular monitor 
(although an additional adapter is 
required for such use). IBM touts the 
machine as one that can be used both 
as a portable computer and as a desk¬ 
top. If a new, more desirable display 
becomes available, IBM can integrate 
the improved device into the manufac¬ 
turing process. The customer pays for 
the detachability to begin with, but 
long-term benefits include lower costs 
associated with efficient manufacturing. 
The customer also may be able to retro¬ 
fit to a better display, avoiding early 
obsolescence of the machine. 

The single most important part of 
the PC Convertible is the set of IBM- 
built integrated circuits that replace 
most of the off-the-shelf logic found in 
the desktop PC. The Convertible is the 
medium with which IBM puts the Far 
East on notice: if necessary, an 8088- 
based machine (like the PC or XT) can 
be built here and, obviously, be com¬ 
petitive. Not only that, it can be built 
almost completely without third-party 
parts. Although 80286-based machines 
will become the most sought-after desk¬ 
tops, the basic PC architecture is viable, 
usable, and, as IBM shows us in the 
Convertible, economical. 


That leads to the price of the Con¬ 
vertible. At first glance, $1,993 for a 
two-drive unit with an IBM label seems 
reasonable. The actual price, however, 
is $2,375 because today’s software de¬ 
mands more than the standard 256KB 
of RAM. Worse, that extra $380 expands 
the machine to only 512KB, the maxi¬ 
mum configuration. A number of popu¬ 
lar software packages simply cannot 
function well (or at all) without 640KB. 

Possessed of many nice features, a 
reasonable configuration, and the IBM 
logo, the PC Convertible should be¬ 
come a popular machine. It is not, how¬ 
ever, what all of us want: a standard PC 
squashed down to the size of a book. 

BIGGER AND FASTER 

The PC Convertible was just one of a 
long list of announcements from IBM in 
April. IBM has restructured its entire 
PC/XT/AT product line, including deriva¬ 
tives such as the 3270- and the -/370, 
with new system boards, faster AT per¬ 
formance, and bigger disks. 

An eight-megahertz AT is nothing 
more than a catch-up machine. IBM is 
surprisingly late with this development, 
and it may have cost the company a sig¬ 
nificant early share of the 286-based 
market. It is attempting to recapture a 
share with a $5,295 base price for a 
machine with 512KB of memory (why 


JUNE 1986 


11 


ILLUSTRATION • MACIEK ALBRECHT 








































DIRECTIONS 


on earth 640 is not the standard escapes 
me still), the 8-MHz clock, and a 30MB 
fixed disk. Strangely, the current 6-MHz 
AT remains, in two configurations. The 
first is exactly equivalent to the new 
model except for the clock speed; it 
lists at $3,293, the same price as the 
new one—inexplicable, to say the least. 
The original AT with its 20MB disk was 
reduced $900 and is now $4,895. 

The new XT is more interesting. A 
machine with one half-height diskette 


drive (that’s right, half-size), 20MB of 
fixed disk, and 512KB of memory is 
$2,895, a price that is quite competitive 
after discount. The new XT system 
board supports memory expansion up 
to 640KB. For situations in which pro¬ 
cessor performance is not critical, the 
new XT should serve well and provide 
ample opportunity for expansion with 
its five available slots. 

The new XT design also provides 
for an internally mounted, half-height 


3^-inch diskette drive to provide for 
data interchange with the Convertible 
or just for larger capacity diskettes. 

From a machine standpoint, the 
IBM announcements were significant. 
The new models and the price changes 
give IBM a much more balanced prod¬ 
uct family. Some problems linger on, 
and some of IBM’s decisions seem 
peculiar, but notwithstanding buyer 
confusion, IBM now offers a better set 
of choices for its customers. I |l|l ^»l 



I pp p Opp L HiIHp ii 

Ill] 1 1 I 1 I f l; l 


T rrT'rxcr ^ r~i 


3 




aaalnrai 


1 

mm 

L 


wmmmm 

■SlHM 


The new IBM "universal" keyboard (PC/AT version) 


KEYBOARDS, KEYBOARDS,.. 

When IBM announced the RT/PC, it 
also introduced a new keyboard, 
which is significantly different from 
either the PC or AT keyboards. I dis¬ 
missed the new layout, assuming that 
a lower level of RT unit sales would 
isolate the new keyboard and make it 
a curiosity that the PC-family user 
would not really care about. 

Silly me. The RT keyboard should 
probably be referred to as the IBM 
keyboard: on April 2, IBM announced 
the availability of the new layout for 
the new XT and AT models (it cannot 
be retrofitted to older models). 

PC Tech Journal will examine the 
keyboard in detail in a forthcoming 
review, but a number of observations 
can be made at this juncture. 

First, IBM is very brave. Some of 
the changes in the new keyboard will 
frustrate users. Software developers 
will have bad dreams about designing 
products to work on a variety of 
layouts or providing keyboard installa¬ 
tion routines. I expect many to scream 
in anguish at Big Blue. 

The two most noticeable changes 
are the placement of 12 function keys 
along the top of the keyboard (where 
they belong, after all) and the pres¬ 
ence of a separate set of cursor keys. 
Most users will find these changes 
satisfactory and long overdue. The 
placement of keys such as Ins, Del, 
Home, End, PgUp, and PgDn is more 
questionable. IBM hedged its bets: the 
numeric keypad still carries the old 
legends and can be used, if desired. 

IBM returned the Esc key to its 
home on the upper left of the key¬ 
board (many questioned why it was 
ever moved). But instead of nestling it 
next to the 1 key, it floats separately 
next to the function keys—a perfect 
solution. Esc is now where it belongs 
and is easy to hit without looking. 

Another improvement is labeling 
keys such as Tab and Backspace with 


words in addition to the arrows that 
marked them before. The new key¬ 
board clearly identifies every key. 

The big problem with this key¬ 
board is that the Ctrl key has mi¬ 
grated. A surprising number of pro¬ 
grams use control keys for cursor 
movement, and an even larger num¬ 
ber of users have fingers that remem¬ 
ber. WordStar devotees: look out! IBM 
will argue that the original keyboard 
is still available and that most pro¬ 
grams using control characters can 
use the regular cursor keys as well. 

No matter. The Ctrl key is still in the 
wrong place (in fact, in two wrong 
places). Worse, it is now where the Alt 
key used to be to the left of the Space 
Bar (and in a corresponding position 
on the right). Alt moved to two new 
places flanking the Space Bar. 

Why did the Ctrl key move? To 
make room for the CapsLock key, 
which was repositioned to where it is 
found on typewriters. That is a reason¬ 
able move; the Ctrl key placement, 
however, is not. After 15 years of key¬ 
boarding, it will take me a long time 
to get used to a Ctrl key I cannot find. 

The final problem is the Enter 
key. It has shrunk from the large, 


double-row, L-shaped key of the AT to 
a single-row, double-width key. The 
apparent reason for this is to make 
room for yet another placement of the 
backslash/vertical bar key. 

If that were not enough, IBM also 
has given us a different keyboard 
layout on the PC Convertible. Some 
compromises are to be expected on 
smaller machines, especially when the 
prime concern is proper key spacing 
and full-stroke keys. I can even accept 
the keypunch-style embedding of the 
numeric keys on the alpha keys and 
their activation with a PC/r-like Fn key. 
However, IBM made Home, End, 

PgUp, and PgDn functions of the cur¬ 
sor keys, a move bound to frustrate 
users of most word processors. Also, 
because the function keys have very 
little adjoining real estate, templates 
are hard to fit. 

We can hardly object to the evo¬ 
lution of keyboards. However, IBM is 
a company with vast experience build¬ 
ing keyboards and should, by now, 
have a substantial base of human fac¬ 
tors knowledge from which to build. 

In terms of key placement, IBM’s ex¬ 
perience is still not showing. 

—WF 


12 


PC TECH JOURNAL 









































TinyTurbo286 — $695 | 
AT Speed in a Half Slot 
The People’s Choice 



PCturbo286e —$1195 
Double AT Speed in a Full Slot 
The Super-Achiever’s Choice 


BE #1 WITH THE LEADER 

Two Breakthroughs to TURBOCHARGE Your PC! 


Orchid became the #1 Turbo 
company by delivering the 
performance, price, and 
compatibility you wanted. Now 
we have followed our critically- 
acclaimed PCturbo 186 with two 
powerful new 8MHz 80286 
Turbos. 

TinyTurbo 286 

A half-slot PC/XT caching 
accelerator for AT speed at a tiny 
cost. It's 100% PC compatible, 
even with copy-protected 
software, because you can switch 
back to the 8088-a feature our 
competitors wish they had. 

PCturbo 286e 

A full-slot PC/XT/AT coprocessor. 
Twice the speed of an AT; 5 times 
that of a PC for lightning 
calculations, dazzling screens, 
and unbelievable performance. 

A Megabyte of RAM, optional 


EMS memory, and free RAM 
Disk, Caching, and Print 
Spooling. Now your PC can wait 
on you instead of the other 
way around. 

A Windows: No longer do you 
need an AT to make it fly. 

A Math: Crunch through 
computations with 8MHz 
80287 power. 

A Spreadsheet: Load and 
recalculate with amazing 
speed. 

A CAD: Redraw, zoom, and pan 
in a flash. 

A Database: Run lengthy up¬ 
dates on Friday rather than 
all weekend. 

Orchid's 286 Turbos - The power 
you need to get your work done 
faster. Let the #1 Turbo Leader 
make you #1 on the job. 


Norton SI Program V3.0 



PCturbo 286e and TinyTurbo 286 are trademarks of Orchid Technology. 

All other products names are trademarks of their manufacturers. CIRCLE NO. 142 ON READER SERVICE CARD 


IBM XT IBM AT Orchid Orchid 

TinyTurbo PCturbo 
286 286 e 


Choose TinyTurbo 286 
If you would like AT speed. 

Choose PCturbo 286e 
If you demand the ultimate 
in performance. 


47790 Westinghouse Dr. 
Fremont, CA 94536 
415/490-8586 
Tlx: 709289 


ORCHID 

The Innovative Leaders 




































YOUR 

COMPUTER LANGUAGE 

IS QUIETLY 

BREEDING REAL BATS 
IN YOUR 


BELFRY. 





WE'RE OUT 10 SAVE ONE MILLION 
FRUSTRATED PROGRAMMERS 


You’re on a roll, really pumped, 
writing the best code you have ever 
written and then—AAARGHHH! 

Freeze dried in your tracks because 
the language you’re using just won’t 
let you achieve what you can conceive. 

And you wanted to be a 
programmer. 

So your choices are: 

1) write around the problem by 
creating six pages of emetic code... 

2) leave out that incredible idea 
that really puts your stamp of 
excellence on this program or... 

3) get yourself a world class 
headache (or a stroke) by dropping 
into assembler. 

Whatever you choose, by now you 
feel the language is out to get you— 
because it is. 

Sure, no language is perfect, but 
you have to wonder, “Am I getting 
all I deserve?” 

And, like money, you’ll never 
have enough. 

Pretty dismal, huh? 

We thought so, too. 

So we did something 
about it. 

We call it CLARION. 

You’ll call it incredible. 

With CLARION you can 
write, compile, run and 
debug complex applications 
in a New York afternoon. 

Even if you’re in Savannah. 

It gives you the power and 
speed to create screens, windows 
and reports of such richness 
and clarity you would never 
attempt them with any other 
language. 

Because YOU would have to 
write the code. 

With CLARION you simply design the 
screens using our SCREENER 
utility and then CLARION writes 
the source code AND compiles 
it for you. 

In seconds. 

Likewise, you can use 
REPORTER to create reports. 
Remember, only CLARION can 
recompile and display a screen or 
report layout for modification. 

And with no time wasted. 

All the power and facilities you 
need to write great programs, faster 


than you ever dreamed of. 

Programs that are easy to use. 

Programs that are a pleasure 
to write. 

And to you that means true 
satisfaction. 

You’ve coveted those nifty pop-up 
help windows some major appli¬ 
cations feature. But you can’t afford 
the time and energy it takes to write 
them into your programs. 

That’s the way it used to be. 

So we fixed that, too. 

CLARION HELPER is an inter¬ 
active utility that let’s you design 
the most effective pop-up help 
screens that you can imagine. And 
they’re “context sensitive,” meaning 
you can have help for every field in 
your application. 

Unlike the other micro languages, 
CLARION provides declarations, 
procedures and functions to process 
dates, strings, screens, 
reports, indexed 
files, DOS files 
and memory 
tables. 



SAY IT IN 


3 > 


CLARION 


1-800-354-5444 


CIRCLE NO. 105 ON READER SERVICE CARD 


Imagine making source program 
changes with the CLARION 
EDITOR. A single keystroke 
terminates the EDITOR, loads the 
COMPILER, compiles the program, 
loads the PROCESSOR and 
executes the program. It’s that easy! 

Our data management capa¬ 
bilities are phenomenal. CLARION 
files permit any number of composite 
keys which are updated dynamically. 

A file may have as many keys as 
it needs. Each key may be composed 
of any fields in any order. And key 
files are updated whenever the 
value of the key changes. 

Like SCREENER and 
REPORTER, CLARION’S FILER 
utility also has a piece of the 
CLARION COMPILER. To create a 
new file, you name the Source 
Module. Then you name the State¬ 
ment Label of a file structure 
within it. 

FILER will also automatically 
rebuild existing files to match a 
changed file structure. It creates a 
new record for every existing 
record, copying the existing fields 
and initializing new ones. 
Sounds pretty complicated, 
huh? 

Not with CLARION’S 
documentation and on-line 
help screens. If you are 
currently competent in Basic, 
Pascal or “C” you can be 
writing CLARION applications 
in a day. In two days you won’t 
believe the eloquence of your 
CLARION programs. 

Okay, now for the best part of all. You 
can say it in CLARION for $295.00— 
complete. All you need is an IBM® PC, XT, 
AT or true compatible, with 320 KB of 
memory and a hard disk drive. 

And we’ll allow a full 30 day evalua¬ 
tion period. If you’re not satisfied 
with CLARION, simply 
return it in its original condition 
for a full refund. 

If you’re not ready to take advantage 
of this no-risk opportunity, ask for 
our detailed 16 page color brochure. 
It vividly illustrates the elegance of 
CLARION. Consider it a preview of 
programming in the fast lane. 

Either way, the call’s a freebie. 


BARRINGTON SYSTEMS, INC. • P.O. BOX 5580 • POMPANO BEACH, FL 33074 • 305/785-4555 


IBM® is a registered trademark of International Business Machines Corporation. CLARION™ is a trademark of Barrington Systems, Inc. ©1986 Barrington Systems. 








Now You Know Why 

BRIEF is BEST 


“BRIEF has improved my productivity tenfold. It paid 
for itself in 2 weeks!” 


David Norwood, Microsystems Manager 


REGULAR EXPRESSION 
SEARCH 

Regular expression searching is one of BRIEF’S most power¬ 
ful features. A regular expression is a series of “wildcards” 
that match pieces of your text. BRIEF supports a full set of 
regular expression characters similar to those found in UNIX 
including: beginning an end of line, groups, and the “closure” 
and “or” operators. 

As Steve McMahon explained in Byte, “Not only does BRIEF 
make use of this marvelously general regular expression notation 
in its search facility, but its pattern recognition extends to its 
replacement (or translation) facility.” “The usefulness of this 
facility for programmers who deal constantly with the regular 
expressions of formal languages is obvious...” 


Every Feature You Can Imagine 


The Program 
Editor with 
the BEST 
Features 

Since its introduction, 
BRIEF has been sweep¬ 
ing programmers off 
their feet. Why? 

Because BRIEF offers the 
features MOST ASKED 
FOR by professional 
programmers. In fact, 
BRIEF has just about 
every feature you’ve 
ever seen or imagined, 
including the ability to 
configure windows, 
keyboard assignments, 
and commands to 
YOUR preference. One 
reviewer (David Irwin, 
DATA BASED ADVISOR) 
put it most aptly, 
“(BRIEF).. .is quite 
simply the best code 
editor I have seen.” 


-Solution 
stems ™ 


Compare these features 

with your editor (or any 

other for that matter). 

• FAST 

• Full UNDO (N Times) 

• Edit Multiple Large Files 

• Compiler-specific 
support, like auto 
indent, syntax check, 
compile within BRIEF, 
and template editing 

• Exit to DOS inside BRIEF 

• Uses all Available Memory 

• Tutorial 

• Repeat Keystroke 
Sequences 

• 15 Minute Learning Time 

• Windows (Tiled and 
Pop-up) 


• Unlimited File Size 
-(even 2 Meg!) 

• Reconfigurable Keyboard 

• Context Sensitive Help 

• Search for “regular 
expressions” 

• Mnemonic Key 
Assignments 

9 Horizontal Scrolling 

• Comprehensive Error 
Recovery 

• A Complete Compiled 
Programmable and 
Readable Macro Language 

• EGA and Large Display 
Support 

• Adjustable line length 
up to 512 


Program Editing 
YOUR Way 

A typical program editor 
requires you to adjust 
your style of programming 
to its particular require¬ 
ments - NOT SO WITH 
BRIEF. You can easily 
customize BRIEF to your 
way of doing things, 
making it a natural ex¬ 
tension of your mind. 

For example, you can 
create ANY command and 
assign it to ANY key - 
even basic function keys 
such as cursor-control 
keys or the return key. 

The Experts Agree 

Reviewers at BYTE, 

INFO WORLD, DATA 
BASED ADVISOR, and DR. 
DOBB’S JOURNAL all came 
to the same conclusion - 
BRIEF IS BEST! 

Further, of 20 top in¬ 
dustry experts who were 
given BRIEF to test, 15 
were so impressed they 
scrapped their existing 
editors[_____———' V- 

r^pv protected) , 


MONEY-BACK GUARANTEE 
Try BRIEF (S195) for 30 days - If not satisfied get a full refund. 

TO ORDER CALL (800-821-2492) 


SOLUTION SYSTEMS, 335-P WASHINGTON ST., NORWELL, MA 02061, 617-659-1571 BRIEF is a trademark of UnderWare 


CIRCLE NO. 123 ON READER SERVICE CARD 



















LETTERS 



EDITOR MISSING 

Rudy S. Spraycar’s review of ISPF edi¬ 
tors for the PC, “In the ISPF Tradition” 
(March 1986, p. 113), was an excellent 
introduction to the facilities of IBM’s 
mainframe ISPF. I am a mainframe ISPF 
user. My transition from mainframe to 
personal computer was made much 
simpler by the availability of an ISPF 
editor for the PC. However, the editor I 
use, IBM’s EZ-VU Editor, was not among 
the products reviewed. 

A review cannot be unbiased if it is 
not complete. If you do not review all 
of the available products, you should 
state why you have not done so. If 
products become available too late to 
be reviewed, they should be noted at 
the end of an article. 

I enjoy your magazine, but such 
oversights could change my opinion. 

Joseph R. Smith 
Kingston, NY 

Thank you for pointing out our over¬ 
sight. We plan to publish a review of 
EZ-VU in our Product Watch depart¬ 
ment in an upcoming issue. 

—WF 

C NOTES 

We at Datalight were pleased with the C 
compiler review in your January 1986 
issue (“The State of C,” William J. Hunt, 
p. 82). We would, however, like to note 
changes to Datalight C that have been 
made since your review. We are now 
delivering a full-featured MAKE pro¬ 
gram and a compiler control program, 
and we have introduced our large 
memory model compiler. 

One point though: Datalight C is 
usable on a dual floppy-disk system. 

The compiler and related programs fit 
on one disk, leaving the second 
completely free for development. 

Keep up the good work! 

Roy L. Sherrill III 
President 
Datalight 


Mr. Sherrill suggests that Datalight C is 
usable on a system that has two floppy 
disk drives (and no hard disk) because 
the compiler and related files fit onto 
one floppy diskette. However, in order 
to avoid switching disks as the user 
moves from editing through compiling 
and linking to execution steps, he must 
keep on-line his editor, linker, C librar¬ 
ies, and some essential DOS files, as 
well as the compiler. For the Datalight 
product, those files require 413KB — 
which is more than the 354KB available 
on a 360KB floppy diskette. A RAM disk 
of 100KB to 300KB or a hard disk 
solves the problem and is a good idea, 
whatever C compiler is used. 

—William J. Hunt 

Congratulations to William J. Hunt for 
his review of C compilers. This is one 
of the most comprehensive reviews I 
have seen on the subject. I am sure it 
will go a long way toward helping seri¬ 
ous programmers make better decisions 
about the software they choose. 

Mr. Hunt’s evaluation of our com¬ 
piler is factual and on target. However, 
the tables that were included with the 
article had a few omissions. Table 1 
omitted the fact that Computer Innova¬ 
tions’ Optimizing C86 does support 
medium memory models. Also, Cl C86 
does have a cross compiler hosted on 
VAXWMS. Table 2 omitted the fact that 
C86 Optimizing has prologue and epi¬ 
logue files for assembly language. 

George EbeiPardt 
President 
Computer Innovations, Inc. 

Tinton Falls, NJ 

Mr. Eberhardt points out that his com¬ 
piler supports the medium memory 
model. This capability was not docu¬ 
mented in the version that was reviewed 
(2.3a). The manual does provide some 
information about assembly language, 
but it offers no examples. 

—William J. Hunt 


With regard to “The State of C,” I won¬ 
der if you can help with answers to a 
few questions. Which companies pro¬ 
vide multiple floating-point libraries? 
Does C have the ability to print a dou¬ 
ble precision value to 16 (or 17) places 
of accuracy? How does one determine if 
a C product (such as a floating-point li¬ 
brary) will work with the Datalight 
compiler? Finally, was the MIX C com¬ 
piler omitted on purpose? 

Dexter Shoultz 
Walnut, CA 

Some companies that offer floating¬ 
point libraries are as follows: Microsoft 
provides three, one works with in-line 
8087 instructions; one works with calls 
to library functions for float, add, sub¬ 
tract, and other operations; and one 
implements a faster, less accurate ver¬ 
sion of floating-point arithmetic. Mark 
Williams C has different libraries for me 
with its linker and the Microsoft linker. 
Lattice C now provides a choice of in¬ 
line 8087floating-point instructions or 
library calls; both optiom me a single 
library. The DeSmet compiler includes 
software and 8087float libraries. 

The number of libraries is a poor 
memure of functionality. If you need 
good floating-point support, you might 
ask compiler vendors these questiom: 
Does your product represent float data 
the same way whether software or 8087 
floating point is used? Can a single 
EXE file work when no 8087 chip is 
present, but me the 8087 efficiently if it 
is present? Is floating-point implemented 
to meet the IEEE standard? Is a fmter 
software float format available for ap- 
plicatiom where lower precision than 
IEEE and standard C specify? 

Float values certainly can be 
printed in a format with more than 16 
digits. However, most IBM PC C com¬ 
pilers implement the float data type as a 
32-bit value and the double data type 
m a 64-bit value. This gives about 6 
digits of precision for float and 15 


JUNE 1986 


17 
























LETTERS 



The DeSmet compiler is fast and 
produces fairly efficient code. Its func¬ 
tions, although few, do exactly what 
they are supposed to do with no side 
effects. The dynamic memory allocation 
can be controlled by the compiler (with 
no bugs) or the compiler can give me 
pointers and let me control it all. Prob¬ 
ably its most important feature is that it 
will generate full assembly language 
code, not some pseudo listing. This tells 
me exactly how the compiler is inter¬ 
preting my source code and lets me 
tighten up the program. 

Douglas Hill 

St. Louis, MO 

A.D.A. ADDITIONS 

I am the author of A.D.A. Prolog sys¬ 
tems, and I was impressed with Michael 
Covington’s review of the products, par¬ 
ticularly his suite of benchmarks (see 
“Programming in Logic,” December 
1985, p. 82; January 1986, p.145). How¬ 
ever, the review process is always a lit¬ 
tle unsatisfying. It seems as if perform¬ 
ance considerations that would become 
obvious to a user during prolonged use 
are left undiscovered. 

Substantial rewriting has taken 
place at A.D.A. since the the time of the 
review and many new features have 
been added to our Prologs. The bench¬ 
marks that do arithmetic were particu¬ 
larly unfortunate. The A.D.A. Prologs 
compute integers as 32-bit, long signed 
quantities. At the time of the review, the 
dedicated pointer representation of an 
integer was not used, which meant that 
unique objects representing each in¬ 
teger had to be created, and this takes 
time. Long arithmetic takes time. To wit, 
the revised benchmarks would be 90 
LIPS for SPEED1.PRO, 25 LIPS for 
SPEED101.PRO, 1,551 recursions for 
RECURSE1.PRO, and 1,792 recursions 
for RECURSE2.PRO. 

The garbage collection pause to 
which Mr. Covington referred was, in 
fact, a bug. The product is now totally 
concurrent and no pauses occur. The 
price of the VML Prolog is $200, not 
$300 (as of June 1985). All A.D.A. Prolog 
systems are large model products, and 
PD Prolog is able to access the full 
memory of the machine. 

All A.D.A. systems now incorporate 
screen graphics primitives. The more 
advanced versions blend Prolog with 
LISP. Where else can you find a Prolog 
with multidimensional arrays, global 
and local variables that can bypass 
instantiation and backtracking, and a 
quoted variable class? Persons doing 
pattern analysis had better have arrays. 

PC TECH JOURNAL 


Side&lk 


digits for double. The ANSI standard for 
C does allow for a long double type; 
howei'er, it is not supported by most C 
compilers at present. The 80-bit value 
that would be used on the IBM PC for 
long double would produce more than 
16 digits of precision. 

C vendors should be able to say 
whether their products will work with a 
specific compiler. If the product has not 
been tested with the compiler, you 
should look for an alternative. 

—William J. Hunt 


The MIX C compiler will be covered in 
an upcoming Product Watch. Another 
compiler not included in the Januaty 
review, Whitesmith C, is covered in this 
month’s Product Watch. See page 195.) 

—DB 

Your review of C compilers in the Jan¬ 
uary 1986 issue was great. I formerly 
used one of the big three compilers, 
but I purchased the DeSmet product 
based on the recommendation of a 
friend, and I would never go back. 


It minds the phone while you do your work 


No more interruptions! Because now SideTalk can trans¬ 
fer your files or receive your mail while you’re using your 
computer for other important matters. And SideTalk is 
programmable with its own BASIC-like language. What’s 
more, you’re never more than a keystroke away from all 
of the power of SideTalk. 

When we say SideTalk is the best telecommunications 
program on the market, we’re not just talking out of the 
side of our mouth. 


CIRCLE NO. 160 ON READER SERVICE CARD 


Lattice 

To place your order: 
Lattice, Incorporated 
Post Office Box 3072 
Glen Ellyn, Illinois 60138 
312-858-7950 
TWX 910-2912190 






















WINDOWS FOR DATA M 




MENUS WINDOWS DATA ENTRY 




PROFESSIONAL DEVELOPERS, here is 
the front end package you’ve been waiting 
for, the ONE that does the hard jobs that 
others can’t — we guarantee it. Makes 
standard display and entry tasks easy. 
Reliable. Compact. Portable. 

MENUS: Build multi-level menus in the 
format of your choosing: Lotus 1-2-3, 
Macintosh, or any style you might select. 
Items can call sub-menus, data-entry 
windows, or action functions. The menu 
system is completely flexible. 

WINDOWS: WFD is built upon and in¬ 
cludes Windows for C, the windowing 
system rated #1 in PC Tech Journal 
(William Hunt, July 1985). WFC now has 
more features than ever: unlimited windows 
and files, pop-ups, fast screen changes, win¬ 
dow names, horizontal and vertical scrol¬ 
ling, logical video attributes, highlighting, 
support for the EGA, off-screen updating, 
formatted output, word-wrap and auto 
scroll, print windows, read and write func¬ 
tions, and keyboard input with subroutine 
execution during waits. 

DATA ENTRY: The most complete and 
flexible data entry system on the market. 
Pop-up data-entry windows, field types for 
all C data types, plus special decimal, date, 
and time fields, full-featured field editing, 
auto conversion to and from strings for all 
field types, input masks or “pictures,” pro¬ 
tected text, system and user-supplied 
validation functions, range-checking, 
scrollable context-sensitive help, required 
and must-fill fields, passwords, programmer 
definable keys, field types, and mask func¬ 
tions, date and time utilities, and string 
utilities. Read field by field or auto-read all 
fields. Branch and nest window forms. 

FLEXIBLE 

4 dY ■: 

A , / %A * ! i ' a ai : : 

J-V r 




As many possibilities as Vermont in June. 

WINDOWS FOR DATA HAS 
UNPRECEDENTED FLEXIBILITY. 

Virtually every capability and feature of 
WFD can be modified to meet special 
needs. All key-invoked data-entry functions 
can be assigned to keys of your choosing; 
and you can add your own functions to the 


key assignment table. This same flexibility 
exists for the input masks used to control 
data entry. Install your own validation func¬ 
tions. You can even define new field types 
and add them to the system. You do not 
need source code to take advantage of the 
flexibility of WFD, but full source is 
available. 


MICROSOFT WINDOWS 
COMPATIBILITY 

is automatic. Windows for Data 

detects the presence of MS Windows 
(and IBM’s TopView) and follows 
the rules required for full compatibility. 
No need for special code, complex inter¬ 
faces, or expensive toolkits. 


EASE OF USE 

Ease of use comes first and foremost from 
basic design and implementation. WFD is 
not just a library of functions, but an in¬ 
tegrated system for menus, windows, and 
data entry. 

We make the system easy to learn by 
explaining each major application in step- 
by-step detail. WFD is documented for the 
professional. Six hundred pages of 
documentation in a full-size, high-quality 
binder. Numerous tutorials and demonstra¬ 
tion programs are provided. Nearly two 
hundred functions are documented indi¬ 
vidually, to UNIX standards. 

RELIABLE 



As free from bugs as Vermont in January. 

For its basic input and output, WFD uses 
the library of Windows for C, a mature 
product that has earned a reputation for ex¬ 
treme reliability. WFD has been through its 
“shakedown” and the few bugs that turned 
up have been corrected. We promise to 
quickly respond to any further bug problems 
you may encounter. 

THE MEMORY FILE FACILITY 

of windows for C is more flexible and 
memory efficient than the “virtual screen” 
systems of other windowing packages. 
Memory usage adjusts to the amount of text 


in files. No waste space! Build files of 
any length and width from disk, code, or 
communications input. Retrieve, replace, 
add, and scroll file lines. Open windows at 
any point in a memory file. Scroll windows 
horizontally or vertically. 

UNIX, DOS, OR BOTH 

WFC and WFD provide source code com¬ 
patibility between PCDOS and UNIX. Pro¬ 
grams written for one operating system will 
compile and run on the other with only 
minor changes. 

UNIX developers, now you can put advanc¬ 
ed windows, menus, and data entry features 
common to the PC world in your UNIX 
programs. 

PRAISE FROM USERS 

“WFD is the best programming tool Fve ever used. 
Its the most flexible I’ue seen. Whenever Fve 
wanted to do something, Fve been able to find a 
wap. ” 

Steven Weiss, Stratford Systems (18 yrs; 1 pr) * 

“WFC is the standard bp which we judge all other 
C utilities. The most helpful tool weve ever 
acquired. Absolutelp easy to use. Verp tight code. ” 
James Baker, Mathew Bender (7 prs; 4 prs)* 

“Especiallp compared to Panel, I love Win¬ 
dows for Data. Your documentation is great. ” 
Don HeinmeUer, Law Software (10 prs; 4 mo)* 
“The documentation lets you get up and running 
fast. I integrated help routines into existing educa¬ 
tional programs in a dap and a half ” 

Richard Rovinelli, Educational Services 
(17 prs; 1 pr) 

* (programming experience; C experience) 

If you are tired of screen utilities that are 
hard to use and limited in capability, you 
owe it to yourself and your programs to try 
WINDOWS FOR DATA. 


OUR CHALLENGE AND 
GUARANTEE 

If you have an application where no 
other tool can do the job, try Windows 
for Data. If it doesn’t help you solve 
your problem, RETURN FOR A FULL 
REFUND. YOU MUST BE SATISFIED. 


WINDOWS WINDOWS 
FOR DATA FOR C 


PC DOS* 

XENIX-286 

UNIX 


$295 

$595 

CALL 


$195 

$395 

CALL 


* For all popular C compilers; 
No royalties for DOS 



Vermont 

Creative 

Software 


21 Elm Ave. 

Richford, VT 05476 

802-848-7738, 
ext. 21 

MasterCard & Visa Accepted. Shipping $3.50 
VT residents add 4% tax. 

Trademarks: Panel, Roundhill Computer Systems; Microsoft, 
(registered) Microsoft Corp., TopView, IBM. 


CIRCLE NO. 115 ON READER SERVICE CARD 




















LETTERS 


The most surprising thing you can 
do with A.D.A. Prolog is use it as a data 
retrieval system. The system was de¬ 
signed for 1GB (gigabyte) of virtual 
memory per file, with an unlimited 
number of files. These limitations are 
constrained by DOS; however, when 
they are lifted, they will become actual. 
Atom names can be 3,000 characters 
long; you can fill a screen with one of 
them. With this capability, huge blocks 
of information can be embedded in 
Prolog programs. 


Some time ago I decided that pure 
logic programming wouldn’t hack it. 

The system now incorporates explicit 
iteration constructs to get around the 
tail recursion limit. Tail recursion was 
incompatible with the flexible memory 
organization the design mandated; this 
recursion requires a specific stack order 
to avoid dangling references. 

A.D.A. Prolog actually was written 
for a much larger machine. It is a struc¬ 
ture-sharing system, which means it 
wants a large word length, and it is 


written entirely in C. It cannot be as fast 
as a system written specifically for the 
PC, except where the extensions make 
pure logic programming look ridicu¬ 
lous. But in light of everything else, 
does it have to be? 

Features are constantly being 
added to A.D.A. Prolog. I invite users to 
call for an inexpensive update. 

Bob Morein 
Automata Design Associates 
Dresher, PA 

DATABASE INTERFACE 

The January 1986 article that reviews 
Q-PR04 is excellent (“A Data Manager 
for Intelligent Screen Forms," Chris 
Christian, p. 126). However, it contains 
an error that could cause problems for 
the novice programmer. On page 131, 
the sentence that says, “A reference to 
the second element of a state array in 
file 1 would be &state[l,2]” should 
read “...&state[l,l].’’ A file array is logi¬ 
cal and the first element is 0, not 1. Ref¬ 
erencing an item in a file in which item 
consists of a single element as 
&item[l,l] will generate an error while 
&item[l,0] will not. 

I have been using Q-PR04 for 
more than a year and find it to be most 
powerful in developing a good screen- 
to-operator interface. The product’s 
documentation, however, is difficult. Mr. 
Christian’s article provides an overview 
that should much reduce the learning 
curve for first-time users. 

Truman Garinger 
Brookings, OR 

Array references in the Q-PR04 lan¬ 
guage start with element 0, as Mr. 
Garinger states. The variables in the 
state array in file 1 are thus referenced 
by &state[l,0], &state[l,l], &state[l,2], 
and so on. One distinction that used to 
be made between high-level and low- 
level languages was the former's pen¬ 
chant for relative 1 addressing versus 
relative 0. This is no longer true, and 
Q-PR04 uses the more popular relative 
0 address reference. 

—Chris Christian 

After two years of subscribing to PC 
Tech Journal and reading untold num¬ 
bers of hardware and software reviews, 

I was delighted to finally see a software 
tool that I use, Q-PR04 from Q-N-E 
International, merit its own article. 

The only point of contention I have 
with Mr. Christian is his insistence that 
Q-PR04 programs need menus. I have 
written more than 20 applications pro¬ 
grams in one system using only one 



Let DaTapaSS Help You Tie the Knot! 

I f you’re ready to unite your IBM PC’s and compatibles to 
your host system, it’s time you thought about DaTapaSS. 

DaTapaSS is quick and simple. No fuss, no ceremony: Just a 
natural union of the features you need most. Features like un¬ 
attended automatic file transfers. Automatic restart and recovery of 
interrupted transfers. Error-free uploading and downloading of 
binary or ASCII files: across public networks, dial-up phone lines, 
and direct-connect asynchronous lines. Full access to DOS func¬ 
tions. VT100 emulation. Key-selectable signon sequences. Softkeys 
you- can program from DOS or your host system. Outstanding 
documentation. You can even use it to transfer files between 
different kinds of host systems. 

Best of all, you can use DaTapaSS as is, or you can work with our 
staff of consultants to build it into your specialized applications. 

So. If you’re ready to exchange deadlock for wedlock, try DaTapaSS 
- and give DTSS a ring! 



DTSS Incorporated 

A Subsidiary of Metropolitan Life Insurance Company 
Buck Road • Box 70 • Hanover, NH • 03755 • 603/643-6600 

CIRCLE NO. 103 ON READER SERVICE CARD 


20 


PC TECH JOURNAL 






























ivrniiY 

Ulliami 

Now the biggest name 
in C compilers conies in a size 
everybody can afford. 

Let’s C: 

$75 


Introducing Mark W illiams ’ $75 C compiler. Want to explore C programming for the first time? Or just 
on your own time? Now you can do it in a big way without spending that way. With Let’s C. 

This is no little beginner’s model. Let’s C is a powerful programming tool, packed with all the 
essentials of the famous Mark Williams C Programming System. The one chosen by Intel, DEC, Wang 

and thousands of professional programmers. The one that wins the 
benchmarks and die reviewers’ praise: 

“(This compiler) has the most professional feel of any package we tested.. ."—BYTE 
“Of all the compilers reviewed, (it) would be my first choice for product 
development.”—David W. Smith, PC WORLD 

And now for more big news. Get our revolutionary csd C Source 

Debugger for just $75, too. 

Use this coupon or charge by calling toll-free: You can breeze through 

1-800-MWC-1700. In Ill. call 312-472-6659. . . ~ ^ 

debugging at the C source 

level ignoring clunky 
assembler code. 

Affordable, powerful, 
debuggable. Mark Williams 
Let’s C is the big name C 
compiler at a price you can 
handle. Get your hands on 
it now. 


Mark Williams Let’s C 

• For the IBM-PC and 
MS-DOS 

• Fast compact code plus 
register variables 

• Full Kernighan & Ritchie C 
and extensions 

• Full UNIX™ compatibility 
and complete libraries 

• Small memory model 

• Many powerful utilities 
including linker, 
assembler, archiver, cc 
one-step compiling, egrep, 
pr, tail, wc 

• MicroEMACS full screen 
editor with source 

• Supported by dozens of 
third party libraries 

• Upgradeable to C 
Programming System for 
large scale applications 
development 

Let’s C Benchmark Done on 

an IBM-PC/XT, no 8087. 

Program: Floating Point 

from BYTE, August, 1983. 

Exec Time in Seconds 

Let’s C 134.20 

MS 3.0 347.45 


ORDER NOW! 60-DAY MONEY BACK GUARANTEE! 


Mark Williams Let’s C 

Please send me: 

_copies of Letfc C and_copies of csd (C Source Debugger) 

at $75 each. (Ill. residents add 7% sales tax.) 

□ Check □ Money Order □ Visa, MasterCard or 
American Express 

Name_ 


City_ 


- Zip- 


. Exp. Date- 


Signature- 



Mark 
Williams 
Company 

1430 West Wrightwood 
Chicago, Illinois 60614 


© 1985 Mark Williams UNIX is a trademark of Bell Labs. 


CIRCLE NO. 205 ON READER SERVICE CARD 
















Perfect Windows, 
Powerful Data Entry, 
FULLY Integrated . 


For Effortless 
Data Entry Windows! 


• Complete input formatting 

• Unlimited Validation 

• Full attribute control 

• Field sensitive application help system 

• Multiple virtual windows 

• Fully automatic, collision proof overlay 
and restore 

• Print to & scroll background windows 

• Animated window "zoom” 

• Move, grow, shrink, hide, or show 
any window 

• ’’Loop function" allows processing 
while awaiting input 

and much much more! 


Designed to increase your productivity 
and help you produce superior applica¬ 
tions in dramatically less time! Includes 
100% source, tutorial, reference manual, 
examples, and sample programs. 

Specify Microsoft, 

Lattice, Computer C O 

Innovations, Aztec, ^ 
or Mark Williams. Ask about Unix. 


.95 


NOW... VCScreen ! 

Our new interactive screen "painter" 
actually lets you draw your data entry 
windows! Define fields, text, boxes & 
borders. Move them around. Change 
attributes. Then the touch of a button 
generates C source code calls to the 
Vitamin C routines! Now, your screen 
designs will be faster and more pleasing 
when they are created with VCScreen! 

Requires Vitamin C lib- $ 99.95 

rary above. For IBM & compatibles. 


For Orders Or Information , 

(214)245-6090 

Creative Programming Consultants 

Box 112097 Carrollton, TX 75011-2097 
Include $3 ground, $6 air, $15 overnight 
shipping, $25 if outside USA. Texans add 
6% tax. All funds must be in U.S. dollars 
drawn on a U.S. bank. 


LETTERS 


’’choose another screen” menu. Hierar¬ 
chical menus are the bane of good user 
interfaces: a transaction must never be 
spread over two screens if one will do. 

Two aspects of Q-PR04, the source 
file editor used in the FB utility and the 
below-average performance of the file 
structure, were criticized, and rightly so, 
but they are no longer a problem. A 
new file structure was debuted in 
January: a self-balancing B-tree. 

In addition, a colleague and I 
recently brought out a utility through 
which a user may program in his favor¬ 
ite editor. Called QUTE, it is faster than 
using FB. This utility can take apart the 
old FB format into screen fields and 
ASCII parts, put them back together 
after editing, find unpaired constructs, 
and clean up indentation inconsistency. 

Other utilities for Q-PR04 are cur¬ 
rently on the market, including XREF 
and QLINT. Q-N-E International also 
produces an author’s package to 
encrypt source code, a nice touch. 

I look forward to many more years 
of subscription to your magazine. 

Richard Pearlman 
Indefinite Energy 
New York, NY 

With the data manager series , we try to 
give our readers a feel for the applica¬ 
tion style that naturally follows from 
the strengths and weaknesses of each 
product. It is true that menus are not a 
requirement of a Q-PR04 application. 
Q-PR04’s ability to work with menus 
quickly and on a field-by-field basis 
distinguishes it from other products re¬ 
viewed in the series. We want our read¬ 
ers to understand that in their selection 
of products for various tasks. 

Q-N-E International released 
Q-PR04 4.0 in January> with the revised 
program and index organization to 
which we referred at the conclusion of 
our article. The new release uses DOS 
file handles , so that paths and explicit 
subdirectory / references can be used. 

With these improvements, Q-PR04 has 
completed its migration to the PC envi¬ 
ronment. No changes in source code 
are required. As Mr. Pearlman points 
out, various support utilities are avail¬ 
able, several from Q-N-E International, 
and others from user groups. 

—Chris Christian 

LEGAL WRITES 

This is a short fan letter to say how 
much I have enjoyed Max Stul Oppen- 
heimer’s column in PC Tech Journal. 

His February 1986 article (“The Total 
Solution,” Legal Brief, p. 193) certainly 


hit home. As a computer consultant spe¬ 
cializing in turnkey CAD systems using 
the AutoCAD software package, I fre¬ 
quently face the problem of customers 
who wish to purchase their systems in a 
piecemeal fashion, while expecting total 
support from us as the vendor of the 
main piece of software used. I am sure 
you can understand why I find this un¬ 
fair: it forces me to take up the burden 
of supporting equipment on which I 
was not allowed to make a profit. Such 
a profit is my compensation for that 
support. As such, I obviously am inter¬ 
ested in having my customers purchase 
as much of their systems from me as 
possible. A turnkey solution works—a 
piecemeal one may not. 

Let me state categorically, however, 
that I am not in the “you must buy your 
plotter pens from me” school of VAR- 
ship. I merely note that when a VAR ex¬ 
presses his fear that an uneducated user 
accidentally will cripple a system, giving 
as his reason his concern that the user 
will not be able to contend with “the 
complicated interrelationship of hard¬ 
ware and software,” he is speaking the 
absolute truth. What is more, increasing 
sophistication of present-day users not¬ 
withstanding, I do not believe that most 
of my customers could purchase all the 
components I have provided off the 
shelf and configure them into a work¬ 
ing system. The qualification, of course, 
is that I deal in a highly sophisticated 
and particular piece of software; config¬ 
uring a Lotus 1-2-3 system is an easy 
task by comparison. 

Once again, let me thank you for 
producing such an informative and 
enjoyable column. I am not aware of 
any other publication that consistently 
provides a column that is devoted 
exclusively to the legal issues of the 
microcomputer world. I find the legal 
perspective fascinating. 

Matt Richard 
Premier Design Systems, Inc. 

Baltimore, MD 

LAN SCOPES 

In the January 1986 Directions column, 
“The LAN of IBM” (p. 9), I got the im¬ 
pression that Will Fastie was intimating 
that IBM had capitulated to its custom¬ 
ers’ demands that the RF broadband 
technology of its PC-Network be aban¬ 
doned in favor of the baseband commu¬ 
nications technology of the IBM Token- 
Ring Network. A little research into the 
history of IBM involvement with net¬ 
works reveals that, in 1983, IBM submit¬ 
ted five papers to the IEEE 802 Commit¬ 
tee on local area networks. They were: 


22 


PC TECH JOURNAL 



















Hercules compatible graphics: 
720x348. 


Plantronics compatible graphics: 
640x200x4 colors. 


Introducing The Paradise 
Hi-Res Graphics Card. 

Two Upgrades 
For The Price Of One. 


Now you can have much higher you choose, the Paradise Hi-Res 
resolution than your current video Graphics Card gives you full corn- 
card gives you. Without buying new patibility with standard video modes, 
software. Or an expensive monitor. Better yet, you can use your exist- 

All you need is the new Paradise ing software to its best advantage. 
Hi-Res Graphics Card. Because Hercules and Plantronics 

It gives you the highest resolution graphics are widely supported by 
possible on a standard monitor. packages like Lotus 1-2-3, Sym- 
With monochrome displays, you get phony, Framework, and lots more. 
Hercules compatible 720x348 And Paradise gives you all this, plus 

graphics. With RGB and composite a parallel port. On one short card, 
displays, you get Plantronics com- If you’d like to know more, we’ll 
patible graphics: 16 colors in 320 x send you full information. Including 

200, and 4 colors in 640x 200. That’s a free Hi-Res software compatibility 
two upgrades for the price of one. guide. Just call (800) 527-7977, 

And no matter which monitor Ext. 252, toll-free. From California, 

Trademarks: Paradise, Hi-Res Graphics Card-Paradise Systems Inc.; Lotus 1-2-3, Symphony-Lotus Development Corporation; 
Symphony, Framework-Ashton-Tate, Inc. Registered trademark: IBM-International Business Machines Corp. 

CIRCLE NO. 230 ON READER SERVICE CARD 



(800) 822-2020, Ext. 252. Or check 
it out at the best PC dealers. 

PARADISE 


SYSTEMS, INC 

The Paradise Hi-Res Graphics Card 





















LETTERS 


“Ring Network Topology for Local Data 
Communications,” “Token-Ring Local 
Area Networks—A Perspective,” “A 
Token-Ring Architecture for Local Area 
Networks,” “Local Area Networking and 
Higher-Level Protocols: An SNA 
Example,” and “Local Area Network 
Media Selection for Ring Topologies.” 

IBM also published “Local Area 
Networks: A Review” in September 1983 
and “An Introduction to Local Area Net¬ 
works” in July 1984. IBM has made its 
intentions known for years. It is obvious 
from reading these publications that 
IBM intended on developing and 
marketing a token passing, star-wired, 
baseband local area network. 

The development of fiber optics 
transmission lines will give the base¬ 
band network the speed of a broadband 
network while retaining the reliability 
and cost effectiveness that is associated 
with a baseband LAN. 

Cliff K Fujii 
Nellis Air Force Base 
Las Vegas, NV 

We are familiar with all the papers you 
quote and with IBM's long-standing re¬ 
search into token-ring technology. How¬ 
ever, not all IBM research projects come 
to commercial fruition, and broadband 


technology seems to offer many advan¬ 
tages, especially for a company inter¬ 
ested in telephone systems. 

It is the multichannel capability of 
broadband, whether wired with copper 
or glass fiber, that distinguishes it from 
baseband and gives it an order-of-mag- 
nitude greater bandwidth. And it is the 
multichannel capability of broadband 
that allows data, voice, and video to 
share the same physical medium. 

I doubt that IBM ever can be 
forced to “capitulate. ” I am quite sure, 
however, that IBM always will be re¬ 
sponsive to its customer base whenever 
it speaks with a single voice. It would 
appear that customer base simply was 
not quite ready for broadband but was 
very ready for integration of data net¬ 
works into existing telephone wiring. 

—WF 

AVERSION AGO 

This letter is written in reference to 
“INLINE Interrupts” by Charles C. 
Edwards in the December 1985 issue of 
PC Tech Journal (Programming Prac¬ 
tices, p. 181). While Borland’s docu¬ 
mentation may have been wrong in 
older editions, it seems to be correct in 
the second edition, June 1985 printing 
of the Turbo 3.0 manual. 


The in-line instructions given for 
interrupt routines on page 214 of the 
manual save and restore the DS regis¬ 
ter, and correctly take SP and BP off the 
stack before the IRET instruction. They 
differ from the article’s recommenda¬ 
tion only as to the order in which the 
registers are placed on the stack. 

With regard to accessing global 
variables, page 215 states: “The way to 
access global variables in the interrupt 
service routine is therefore to store the 
value of Dseq in a typed constant in the 
main program. This typed constant then 
can be accessed by the interrupt han¬ 
dler and used to set its DS register.” 

Mr. Edwards is quite right, though, 
in advising that you should take any¬ 
thing you read (including this letter) 
with a grain of salt. 

John W. Spalding 
Atlanta, GA 

Mr. Spalding is correct in pointing out 
that the Turbo 3 0 documentation con¬ 
cerning interrupt handling is much 
improved over 2.0, although it is still 
difficult for a novice to understand. 

My article was written when 2.0 
was the most current version of Turbo. 

I am sure Mr. Spalding can appreciate 
the hours that went into getting this fea- 


The COBOL dinosaur flies ♦.. 

.. .some people compare COBOL and its applications to a dinosaur. Well Micro Focus has succeeded in 
putting wings on the dinosaur and now he’s entered a new generation. If you’d like to know 
how the new dinosaur can help you then just ask about Micro Focus’ pioneering 
range of powerful compilers, productivity 
tools and integrated programming ^ 

environments, such as VS •: 

COBOL Workbench- 
and then watch your r y. 

productivity take off! 




h $r*f 
-ir r/ 




~v 


MICRO FOCUS 

2465 East Bayshore Road, Palo Alto, CA 94303 
Telephone: (415) 856^4161 


V 


"'A 



Yes, Pm interested in the widest range of development products for PCs. 
Single-user_ Multi-user_ PC DOS_ Unix_ Other_ 




Programmer Workstations: 

□ VS COBOL Workbench 

□ Professional COBOL 

Compilers: 

□ VS COBOL Compiler 

□ VS COBOL for Unix 


Development Tools: 

□ ANIMATOR 

□ FORMS-2 

□ CO-Graphics 

□ CO-Maps 

□ CO-Math 


Name_ 
Title _ 


□ High Performance Level II COBOL Application Generator: 

□ Level II COBOL/ET □ Sourcewriter 

□ Mac COBOL 


Company 
Address_ 


City. 


. State _ 


.Zip. 


Send to: Micro Focus Inc., 2465 East Bayshore Road, Palo Alto, CA 94303 
PCT 6/86 

Level II COBOL, VS COBOL Workbench, ANIMATOR, FORMS-2, Professional COBOL, CO-Maps, Mac COBOL and CO-Graphics, are trademarks of Micro Focus Limited. micro/SPF is a registered trademark of Phaser Systems Inc. Sourcewriter is a trademark of Softwright Systems Limited. 


24 


CIRCLE NO. 154 ON READER SERVICE CARD 


PC TECH JOURNAL 































So you can sort a data 
■F base, write a letter using your 
favorite word processing appli- 
cation, total a spreadsheet and print 
a report...all at the same time. No 
other expanded memory product 
ll^aialitechv'v Iflfl 

The people at PC Week, a leading 
news publication for the PC industry 
think our RAMpage! solution is sig- 
hffictehiAfe know you will, too. 

To receive our special infor¬ 
mation package describing AST’s 
RAMpage! solution, call our Cus- 

RAMpage* registered trademark of AST Research, Inc IBM registered 
; trademark of international Business Machines Corp. DESQview 
trademm&tif Office Systems, lotus 1-2-3 and Symphony 

; trademarks oi lotus Development Corp The Lotus logo is 

usedbyjtermiNsidn of Lotus Development Corp The Rampage’ 
^Expanded Memory Board has succ^sfullv passed compatibility 
testing with 1-2-3 Release 2 and with Symphony i.l on an IBM XT 
with FC-DOS 3 # Hw> megabytes of memory were installed 
;tMASEan^Fmme#trk trademarks of Ashton-late. 

" Copyrighff>A^TReseaf^f^ 1986, Affrights reserved 

CIRCLE NO. tW ON READER SERVICE CARD 


tomer Information Center today 
( 714 ) 863 - 1333 . Or complete this 
coupon and send it to AST 
Research, Inc., 2121 Alton Avenue, 
Irvine, California 92714. : 


When we introduced our 
RAMpage!® solution for IBM® 

we had a Winning product. It repre- 

ment, combining two megabytes of 
expanded memory with innovative 
immediately: J 

use your increased memory power 
The resulting solution greatly j 
improves productivity and is adapt¬ 
able toanybusinessenvironment. 
The most powerful expanded 

and its advanced DESQview™ soft- ; 
ware allow you to run multiple appli¬ 
cations simultaneously, using your 

versions of Lotus 1-2-3* Symphony* 
dBASE™and Framework™ 


PC Week 

















_ Flashy 

Programs. 



teosunt *: 


SiIkwi; 


Tciia’i l«tt: 




Cwjlttiy. fat i 


Irwic# S«t: 


fet«f kU ir.to tfce fields «KiIs & ^ s*s 
it fan. k «5t «rfy atat aging j s:st&, 
ill iata is ONKfecUi ss it is 


It is •fe?i-ss:ti« ts ?*i*■ sriib 1 


?Wt hetiwi: I 



dBASE • Turbo Pascal • BASIC • C • COBOL • Fortran • Lotus 1-2-3... 


FLASH CODE™ 

The most powerful program developer for 
dBASE II and dBASE III ever developed. 
DRAW any screen design with our advanced 
screen editor. Use Flash Code and see 
how incredibly easy screen design can 
be. 

GENERATE complete programs automati¬ 
cally. Based on your screen designs, 
Flash Code can write your whole 
dBASE program. 

FLASH-UP WINDOWS™. Menus and Help 

Windows add a new dimension to your 
dBASE programs. Create them instantly 
with our window editor. Use the 
FlashUp™ module to have windows 
pop-up throughout your dBASE applica¬ 
tions. 

For dBASE II and dBASE III. $150. 

“...a truly remarkable product. Brand-new, 
state-of-the-art and actually fun to use. The 
windows make it an even more amazing 
product. ” 

Cary N. Prague, Author 
“Beyond programming with dBASE III ” 

“Destined to replace QUICKCODE™” 
MicroNewsA/lews, Nov. 85 


SCREEN SCULPTOR™ 

You can create screens in minutes...then 
Screen Sculptor writes the program. 

Move pieces of the screen around, select 
colors from a menu, draw boxes and lines, 
paint, repeat last character in any direction. 
And more! 

Specify variable names, data types, 
acceptable data ranges, pictures for edit 
checking, etc. 

Screen Sculptor then generates an actual 
program source code based on your screen 
design. Use it as is or modify it. 

For BASIC, Turbo Pascal, IBM/Microsoft 
Pascal. $125. 


“...so well done that you may not need to 
refer to the manual. ” 

“...an exceptional product that fills a real 
need in the development of new programs. ” 

Computer Language 


NEW! 

FLASH-UP WINDOWS™ 

An incredibly flexible and powerful 
tool for Flash-Up M Menus and Flash- 
Up Help Windows! 

Every program, every applica¬ 
tion becomes more sophisticated 
and easier to use with Flash-Up 
Windows. 

Use the window editor to 
instantly create windows. Change 
their size, location, color...all auto¬ 
matically. Specify a string of char¬ 
acters or control codes to send 
back to your application program. 

The windows can be flashed-up 
directly by your program OR by the 
user with the keyboard. Windows 
can even call other menus or help 
windows. 

An absolute necessity for 
BASIC, Turbo Pascal, C, R:BASE, 
COBOL, Fortran, dBASE, Lotus 1-2-3. 

Introductory price. Only $75. 

(Until 3/31/86) 


CIRCLE NO. 192 ON READER SERVICE CARD 


No Risk Demo Offer! 

Here’s a no-risk offer. Order now and 
you’ll also get a full demo disk. Use the 
demo and the manual for 30 days. If you 
don’t love it, return the package for a full 
refund. 


Credit card orders call 24 hrs/day 
1(800) 824-7888, operator 268. 

All other orders and inquiries call or write 
Software Bottling Co., 6600 L.l. Expwy, 
Maspeth, NY 11378. 718-458-3700. 



THE 

SOFTWARE 

BOTTLlflG 

compftnv 

OF NEW YORK 


Requires an IBM PC, XT, PC AT or true compatible, 256K 




















































































LETTERS 


ture to work, considering I was using 
erroneous documentation. 

Also, although the 3.0 manual does 
mention storing DS in a typed constant 
for use by an interrupt procedure, it 
does not show how to fetch this value 
when the interrupt occurs. Because one 
of the reasons for working in high-level 
languages such as Pascal is to avoid the 
vagaries of machine language, this is 
an unpardonable oversight. Perhaps 
this, and the lack of a working example 
of such a powerful feature, will be rec¬ 
tified in a future version. 

The explanation of the use of inter¬ 
rupt procedures and the example put 
forth will be helpful to readers still 
using earlier versions of Turbo. 

—Charles C. Edwards 

CALLing BASIC 

Your readers might be interested to 
learn about an important difference 
between the Microsoft QuickBASIC 
compiler and the more expensive IBM 
BASIC compiler. I use both and was 
very surprised to find that among the 
unsupported statements in QuickBASIC 
were BSAVE, BLOAD, and absolute 
CALLs. The absolute CALL is of particu¬ 
lar concern. Many small machine lan¬ 
guage routines are BLOADed or POKEd 
into memory in many BASIC programs, 
and then CALLed at the address loaded. 
This is impossible in QuickBASIC, 
though IBM allows it. 

Microsoft’s only answer to this 
problem is that it was impossible to 
execute an absolute CALL because its 
compiler uses a relocatable runtime 
module. If that makes it impossible, 
then how did IBM do it? 

Microsoft claims in the media that 
except for Indexed File supports and 
large arrays, its QuickBASIC is com¬ 
pletely compatible with the IBM ver¬ 
sions. It ain’t necessarily so. 

Jay Cooprider 
President 

Software Dynamics Corporation 
Oklahoma City, OK 

True enough, IBM supports absolute 
CALLs and Microsoft does not. Neither 
compiler uses memory> the same way as 
BASICA, of course, so it is a tricky busi¬ 
ness to translate such CALLs. Both ven¬ 
dors suggest alternate methods: Micro¬ 
soft suggests assembly language rou¬ 
tines be linked in after compilation; 

IBM advises loading an assembly lan¬ 
guage-routines hex code into an inte¬ 
ger array and executing it from there. 

—DB 


cof$ n 


BACKS UP PROTECTED 
SOFTWARE. 

The backup insurance you need to 
protect your software investment, 
COPY II PC makes a floppy backup of 
most protected software quickly and 
easily. (We update COPY II PC regu¬ 
larly to handle new protections; you as 
a registered owner may update at any 
time for $15 plus $3 s/h.) 

RUNS PROTECTED 
SOFTWARE FROM YOUR 
HARD DISK. 

COPY II PC makes using your hard 
disk as convenient as it should be. No 
longer will you have to keep your floppy 
disk in drive A with some of the most 
popular business software. Call for 
current list. 


MINIMUM 

REQUIREMENTS: 

IBM PC, XT, AT, 256K jr and most 
compatibles. One or two disk drives. 

128K memory (all available memory 
fully supported). 

Call 503/244-5782, M-F, 8-5:30 (West 
Coast time) with your h F^ff: in hand. 
Or send a check for 
$39.95 U.S. plus $3 s/h, $8 overseas. 

$39.95 

Central Point Software, Inc. 

9700 S.W. Capitol Hwy. #100 
Portland, OR 97219 

Central Point 
Software 

J INCORPORATED 


Backup utilities also available for the Macintosh, Apple II and Commodore 64/128. 


PC TOOLS NOW 
AVAILABLE! 

Put all the most popular disk utilities 
(even undelete) together with a powerful 


DOS interface. Then make them 
resident and you have PC Tools. 

PC Tools lets you run nearly any DOS 
command within any other 
running program. Just $39.95 plus s/h. 


CIRCLE NO. 213 ON READER SERVICE CARD 


Make your PC or AT into a 
COMMUNICATING WORKSTATION 
for only $85 


Use ZAP, the Communications System for Technical Users 

COMPLETE Communications for PROGRAMMING and ENGINEERING 

EMULATION of graphics and smart terminals is combined with the ability to TRANS¬ 
FER files reliably, CAPTURE interactive sessions, and transmit MESSAGES while 
also being able to swap between your mini or mainframe session and your PC application. 
SUSPEND a line to run a PC application. Reconfigure features to fit the communications 
parameters and keyboard requirements of the host computer software. Complete technical 
documentation helps you understand and fit ZAP to your style. 

HIGHLIGHTS OF ZAP: 

• Emulate TEKtronix 4010/14 and DEC VT 100,102, 52 including 

variable rows and columns, windows, full graphics, and smooth scrolling. 

• Reliable file transfer to/from any mainframes and PCs including KERMIT and 
XMODEM protocols plus you get a full copy of KERMIT. Transfer speeds ranging 
from 50 to 38,400 BAUD. Session control include printer dumps and save to 
disk. 

• MACRO and Installation files (‘’scripts”) controllable by you. 

• EMACS, EDT and VI “Script” files are included. ZAP is also used with other popu¬ 
lar software including graphics products like DISSPLA and SAS/GRAPH. 

• CONFIGURABLE to communications, terminal features on the “other end”; 1, 2 
stop bits; 5,6,7 or 8 data bits; parity of odd, even, none, mark and space; remap all keys 
including the numeric pad and standard keyboard, set any “virtual” screen size. 

• Full PC/MSDOS access to run any command or program that will fit in your systems 
memory. ZAP takes less than 64K. 

• 9 Comm ports are supported by ZAP. Plus full color in text and graphics make use of 
the IBM color, EGA cards, or Hercules Monochrome. 



ONLY 

$85 


-Solution 

Systems 


335-P Washington St 
Norwell, Mass. 02061 
617-659-1571 
800-821-2492 


CIRCLE NO. 130 ON READER SERVICE CARD 


JUNE 1986 


27 

















LAN REPORT4 


Choosing a LAN System. 

New Report Outlines Steps For LAN Evaluation. 


Choosing the best local area net¬ 
work hardware for your particular 
installation is often a bewildering 
process. There are many options 
and few evaluation tools. 

A new report developed 
by Novell, Inc., is designed 
to offer help. The study, 

LAN Evaluation Report 
1986, examines all of the 
hardware issues that affect 
LAN performance. It in¬ 
cludes an analysis of many 
LAN products and a series 
of benchmark tests. 

A key element of the study is 
the addition of an evaluation 
system. The system provides 
a mechanism for matching 
site needs to specific hard¬ 
ware. Whether a new net¬ 
work is being planned or an 
existing site is being up¬ 
graded, the study will be useful in 
the performance evaluation of any 
proposed network. As a network 
operating system developer and 
system reseller, Novell has experi¬ 
ence with LAN products from sys¬ 
tem support through installation 
and day-to-day operation. Novell's 
NetWare® network operating sys¬ 
tem supports 30 different LAN con¬ 
figurations including the NETBIOS- 
compatible LANs. Information in 
the LAN Evaluation Report 1986 is 
based on that experience. 

LAN Hardware Choices. 

LANs are highly modularized 
architectures. The rich assortment 
of available LAN components 


provides flexible building blocks 
with which to customize networks. 

System planning starts with the 
LAN hardware: the network inter¬ 
face card (NIC) and cabling. Per¬ 


The IBM Token Ring Network is 
also analyzed; however production 
NICs were not available at the time 
the report was written and could 
not be included in the benchmark 
tests. 


"The LAN Evaluation 
Report 1986 includes an 
analysis of many 
LAN products as well 
as a series of 
benchmark tests." 


The report analyzes each 
NIC according to its access 
scheme, raw bit rate, on¬ 
board processing, and 
NIC-to-host transfer 
method. 

NICs divide information 
into message units called 
packets, transmit the 
packets at a certain speed, 
and manage the trans¬ 
mission and receipt of 
those packets. In other 
words, NICs implement a 
hardware protocol. 


sonal computers and other 
machines are attached to a LAN 
by plugging the NIC into the PC 
expansion bus and attaching the 
LAN cable to the NIC. 

LAN hardware systems analyzed 
in the study are: 

•AT&T StarLAN 

• Corvus Omninet 

• Davong MultiLink 

• Gateway G-Net 

• IBM PC Network 

• Interactive Systems LAN/PC 

• Nestar PLAN 2000 

• Novell S-Net 

• Proteon ProNET 

•Standard Microsystems ARCNET 

• 3Com EtherLink 
•3Com EtherLink Plus 


One of the points made in 
the analysis and benchmarks is 
that the way a protocol is im¬ 
plemented is often more significant 
to performance than the protocol 
itself. Many LAN vendors are ac¬ 
tively modifying their NIC designs 
to improve performance without 
any change in the basic protocol. 

Network Servers. 

The network server manages all 
network requests and data storage 
functions. Because of this, the 
server plays a key role in LAN per¬ 
formance. 

Servers come in many different 
configurations and designs. Some 
are proprietary boxes that were 






LAN REPORT 4 


specifically designed as servers. 
Others are personal computers 
that are functioning as servers. 

The LAN Evaluation Report 1986 
analyzes and tests the following 
servers: 

•IBM PC XT 
•IBM PC AT 

• Novell S-Net 

• 3Com 3Server 

• Novell 286A and 286B 


Processor type is the most obvious 
difference among these 
machines. They use the 
Intel 8088, Intel 80186, 

Intel 80286 or Motorola 
MC68000. But other fac¬ 
tors are also important in 
determining server perfor¬ 
mance, including proces¬ 
sor clock cycle speed, wait 
states, server memory 
cycle speed, memory 
channel, and transfer bus 
channel. All of these factors 
determine the speed at 
which data is moved and 
processed. 


NetWare Evaluation System. 

The LAN Evaluation Report 1986 
contains the NetWare Evaluation 
System. While benchmark measure¬ 
ments are part of the system, they 
are designed to be used only as 
input in the evaluation formula. 

The first of the two benchmarks is a 
measurement of maximum through¬ 
put for a LAN/server combination 
with a single workstation. 

The second shows the maximum 
working bandwidth for a fully 


"The NetWare 
Evaluation System provides 
an excellent method of 
LAN performance 
comparison/' 


results and site profile are applied 
to a formula which shows the 
throughput of the proposed system. 

Answers generated by the formula 
provide several useful pieces of 
information. The results from the 
formula should be approximately 
the same as the maximum 
throughput in a single station test. 

If the working bandwidth of the 
proposed system is much greater 
than the single station throughput, 
this indicates that the LAN/server 
combination has more 
power than can be utilized 
by the proposed network. 
If the working bandwidth is 
much lower than the single 
station throughput, it indi¬ 
cates that the LAN/server 
combination will be over¬ 
burdened. 


One of the jobs that a 
server handles is sending 
data to and from the hard disk. The 
speed of the server cannot alter the 
speed of thediskchannel. If a disk 
channel can handle reads at 160 
kilobytes per second, a faster pro¬ 
cessor isn't going to change that 
figure. 

A faster server, however, can 
change the percentage of proces¬ 
sor utilization for specific servers. 
High-performance servers use less 
of the processor's time for specific 
operations, freeing the processor to 
perform other tasks. The result is 
increased performance. 


loaded network. In this test, six IBM 
PC AT workstations were attached 
to the various LAN/server combi¬ 
nations. The network was driven to 
its maximum traffic capability. 
Throughput results from all stations 
were totaled to show the maximum 
bandwidth of each network. 

A formula for workstation usage is 
then developed based on specific 
values for a particular site. Five 
categories of network users are 
defined and used in establishing 
this site profile. 

As a final step, the benchmark 


The evaluation system also 
provides a method of 
performance comparison. 
Desired performance is 
usually expressed in terms 
of floppy or hard disk 
speed. The study contains 
data on the standalone 
workstation performance 
of the IBM PC AT and XT with both 
floppy and hard disks. Using these 
figures, the formula's results can be 
compared to desired throughput. 

Read the Full Report. 

The LAN Evaluation Report 1986 is 
available free of charge from 
Novell. To obtain a copy, call 
or write Novell Corporate 
Communications, 748 North 
1340 West, Orem, Utah 84057, 
(801)226-8202. 

m 


CIRCLE NO. 166 ON READER SERVICE CARD 







MICROSOFT LANGUAGES NEWSLETTER Vol. 1, No. 6 


News about the Microsoft Language Family 


Your Microsoft® FORTRAN Programs Can Call Microsoft C Library Routines 

Microsoft FORTRAN s long-established history includes powerful scientific subroutines drawn 
from a vast user community. Microsoft C has a rich operating systems background, strong string 
and bit manipulation support, and growing strength in the program portability arena. The following 
demonstrates how easily one can call C functions from a FORTRAN program. 

Spawnlp creates and executes a child process. In this example, we suspend the parent program 
while the child program executes. When the child program terminates, the parent program 
resumes execution. 

Spawnlp is declared in C as follows: 
int spawnlp (mode, path, argO, argl,..., argn) 
int mode; char *patn, *argO,..., *argn; 

We declare the interface to FORTRAN with this program fragment: 
integer*2 spawn 

interface to integer*2 function spawn [c, varying, alias: ‘spawnlp’] (mode) 

integer*2 mode 

end 

Spawn is the function name we will use from FORTRAN. We declare the return type of spawn to be 
integer*2. [c] indicates the C language, [varying] tells that a variable number of arguments may be 
passed. An [alias] is used because the C name for the function spawnlp has 7 characters; names in 
FORTRAN are only significant to 6 characters. The string arguments are undeclared in the interface 
and assumed to be passed from FORTRAN by value. 

The function can now be invoked as follows: 
i — spawn(0,loc(‘exemod’c), locfexemod’c), locfdemoexec.exec), int4(0)) 

The C spawnlp function expects addresses of strings, not actual characters, so we use the LOC() 
function. C strings differ from normal FORTRAN strings; we specify these by the “c” after each closing 
quote. We use INT4(0) to pass the last parameter, a C NULL pointer (32-bit integer zero). 

Starting with the release of Microsoft FORTRAN 3.3, Pascal 3.3, Macro Assembler 4.0, and 
C Compiler 3.0, these Microsoft languages are designed so libraries and subprograms written in any 
one can be used in any other. Any C routine (not just spawn) can be interfaced to FORTRAN. And 
they are supported under both MS-DOS® and XENIX," for additional program portability. 


For more information on the products and features 
discussed in the Newsletter, 
write tot Microsoft Languages Newsletter 
16011NE 36th Way, Box 97017, Redmond, WA 98073-9717 

Or phonet 

(800) 426-9400. In Washington State and Alaska, 
call (206) 882-8088. In Canada, call (416) 673-7638. 

Microsoft, XENIX and MS-DQS are registered trademarks of Microsoft Corporation. 


Latest DOS Versions: 


Microsoft C Compiler 

3.00 

Microsoft COBOL 

2.10 

Microsoft FORTRAN 

3.31 

Microsoft Macro Assembler 

4.00 

Microsoft Pascal 

3.31 

Microsoft QuickBASIC 

1.02 


Look for the Microsoft Languages Newsletter every month in this publication. 







PRODUCT OF THE MONTH 


WILL FASTIE 



The Portable II 

Compaq has taken the boredom out of IBM 
compatibility with its smaller, lighter AT-in-a-suitcase. 


T he IBM PC standard for micro¬ 
computers has done more for the 
acceptance of personal computers on 
the desktop than anything since Visi- 
Calc. For watchers of the computer in¬ 
dustry, however, it has created a horri¬ 
ble side-effect: boredom. 

Virtually every manufacturer of per¬ 
sonal computer systems has acknow¬ 
ledged that adherence to the IBM stan¬ 
dard is absolutely essential. And that 
spells boredom. The desktop machine 
becomes a commodity product and pur¬ 
chase decisions can be safely made 
solely on the basis of price. The flavor 
of the IBM machine is vanilla and other 
machines are just different brands of 
vanilla. About the only way to make 
vanilla more interesting is to add real 
vanilla beans to the mix and charge a 
premium price. 

Compaq Computer Corporation 
brings excitement to vanilla. Its legend¬ 
ary success needs no repeating here. 
The elements of that success are a PC in 
a suitcase, a better PC for the desktop, a 
better AT for the desktop, and an AT in 
a suitcase; these machines are Compaq’s 
vanilla beans. 

Compaq has now added another 
bean. In the middle of the rise of the 
laptop, Compaq has (perhaps only for 
the moment) eschewed the tiny ma¬ 
chines in favor of a better version of its 
original concept. For the excellence in 
both its design and conceptualization, 
PC Tech Journal names Compaq’s 
Portable II (Model 3) the June 1986 
Product of the Month. 

If ever there was a PC to fall in 
love with, this is it. The Portable II 
delivers a full-function AT compatible in 
a suitcase that is 30-percent smaller (to 
fit under an airline seat) and 17-percent 
lighter (just over 26 pounds) than the 
other Compaq portables on the market. 
Its 80286 processor operates at 8 MHz 
but can be adjusted (from the keyboard 
and while running) to operate at the 
standard AT’s slower 6-MHz rate should 


that be necessary for software compati¬ 
bility. The Portable II comes with 
640KB of memory; one 360KB, third- 
height diskette drive; one 10MB, 

3^-inch, third-height hard disk; a serial 
and parallel port; a realtime clock; and 
two expansion slots. A memory expan¬ 
sion option increases memory to 2.1MB 
without using a slot. Another Compaq 
option takes up one slot and expands 
memory to 4.1MB. 

The Portable II includes the nine- 
inch, dual-mode display of its larger sib¬ 
lings that delivers high-resolution text 
and IBM Color Graphics Adapter (CGA) 
compatibility. In graphics mode, colors 
are represented by shades of green on 
the monochromatic display. 

This recitation of facts and features 
hardly provides a basis for love, howev¬ 
er. There is a subjective element to the 
Portable II, a feeling that comes on as 
the time spent using the machine rises. 
This is a responsive, peppy, agile ma¬ 
chine. It will do a lot of work quickly. 
There is no feeling of being on a non- 
IBM machine; except for the logo, this 
comes as close to matching an AT as is 
legally possible. 

The Portable II is also beautiful. It 
is possessed of clean lines, attractive 
styling, and an extra touch of color, 
subdued though it is. It looks sharp, but 
not threatening. It has been designed. 

Perfection in computers is an elu¬ 
sive goal; a number of criticisms might 
be leveled at the Portable II. The most 
immediate is likely to be Compaq’s 
choice of a 10MB disk instead of the 
more standard 20MB. Just after IBM’s 
price cuts, Compaq announced its 20MB 
Model 4 priced at $4,999. PC Tech Jour¬ 
nal was unable to obtain a unit for ex¬ 
amination; if the disk performs like the 
Model 3 drive, the Model 4 is the more 
desirable version. 

At $4,799 the Portable II could be 
considered a bit expensive—especially 
in light of only 10MB of disk and a CGA 
display. Compaq responds that it is sell¬ 


ing all the machines it can build—a 
point hard to argue. 

Another, milder complaint con¬ 
cerns Compaq’s choice of the CGA in¬ 
stead of the Enhanced Graphics Adapter 
(EGA), which seems to be an emerging 
standard. With large-scale chips now 
readily available, EGA capability might 
have been a better idea. However, ac¬ 
tual work on the machine leaves the 
user with the impression of more than 
satisfactory graphics for everyday use. 
Even a product like Microsoft Windows, 
with all of its overhead, runs superbly 
on the Portable II simply because the 
number of bits that need to be manipu¬ 
lated for graphics on a CGA is one-sev¬ 
enth that of the EGA. The 8-MHz pro¬ 
cessor speeds up those fewer manipula¬ 
tions and gives Windows the appear¬ 
ance of achieving far better perform¬ 
ance than a standard AT can deliver. 

One compromise forced on the 
Portable II by its smaller size is the key¬ 
board. The function keys have been 
moved to the top, but the keyboard du¬ 
plicates all the problems inherent in the 
AT keyboard. Coincidentally, IBM has 
introduced a new keyboard for the RT, 
AT, and XT, which solves some prob¬ 
lems and creates new ones. 

None of these criticisms adds up to 
a major complaint. The Portable II has 
too many features to like. The machine 
is destined to be quite popular on the 
desktop, just as its siblings have been, 
but because it is smaller, faster, and 
lighter than other luggables, the Com¬ 
paq Portable II will also be a favorite 
for software demonstrations and the 
delivery of full desktop power to out-of¬ 
office situations. 

This machine is a winner. I""—1 

Compaq Portable II, Model 3. $4,799 
Compaq Computer Corporation 
20555 PM 149 
Houston, TX 77070 
713/370-0670 

CIRCLE 353 ON READER SERVICE CARD 


JUNE 1986 


31 














model IBM PC/AT 


TECH RELEASES 


Hardware, software, and other developments for the IBM PC family 


IBM’s XENIX version 2.0 


FROM IBM 

IBM Corporation has announced the 
PC Convertible, the newest and 
smallest member of the IBM family. This 
full-function PC, which weighs less than 
13 pounds, features an 80G88 micro¬ 
processor and 256KB of user memory. 
The Convertible is equipped with an 80- 
column-by-2 5-line detachable liquid 
crystal display, a built-in 78-key key¬ 
board with full-size typing keys, and 
dual 3^-inch diskette drives. Each dis¬ 
kette drive has a 720KB capacity, equal 
to more than 350 typewritten pages. The 
Convertible includes a battery pack and 
an AC adapter that can operate the sys¬ 
tem while simultaneously recharging 
the battery pack. $1,995. 

A new model PC/AT, also an¬ 
nounced by IBM, features an 8-MHz mi¬ 
croprocessor that is 30 percent faster 
than previous AT microprocessors. This 
latest AT is equipped with a 1.2MB dis¬ 
kette drive, a 30MB fixed-disk drive, a 
serial/parallel adapter card, and 512KB 
of user memory, which is expandable to 
10.5MB with new memory expansion 
options. The new machine comes with 
IBM’s 101-key Enhanced PC Keyboard, 
which separates the typing area, the cal¬ 
culator-style keypad, and the cursor and 
screen control keys. This AT is compati¬ 
ble with the PC 3^-inch external 
diskette drive. $5,295. 

IBM Corporation, Entry Systems Divi¬ 
sion, P.O. Box 1328, Boca Raton, FL 
33429-1328; Contact the local IBM 
dealer, 800/426-2468 

CIRCLE 337 ON READER SERVICE CARD 

The first issue of the IBM Technical 
Directory has been released. This 
pamphlet lists all technical books and 
reference materials produced by IBM 
for its family of Personal Computers and 
software products. The books and mate¬ 
rials listed are available through autho¬ 
rized IBM PC dealers as well as by call¬ 


ing the toll-free number provided here 
and in the pamphlet. Free of charge. 
IBM Technical Directory, P.O. Box 
2009, Racine, WI53404; 

800/IBM-PCTB, or contact the local IBM 
dealer, 800/426-2468 

CIRCLE 301 ON READER SERVICE CARD 

The IBM 3295 Display Adapter at¬ 
taches the 3295 Plasma Monitor to the 
PC, PC/XT, and PC/AT. (The Plasma Mon¬ 
itor is a large-screen, high-resolution 
monitor capable of 160 columns by 64 
rows of alphanumeric or 960 columns 
by 768 rows of all-points-addressable 
graphics. The monitor has a thin profile 
and a small footprint.) The Display 
Adapter provides applications programs 
with two interfaces: first, a monochrome 
display interface to provide an 80-by-25 
alphanumeric window compatible with 
existing programs written for the mono¬ 
chrome display; second, a low-level pro¬ 
gram interface that allows new or en¬ 
hanced applications to use its full-screen 
capabilities. $1,495. 

Also from IBM comes an advanced- 
function, short-card version of its 3278/ 
79 emulation adapter for the PC. The 
adapter enables the PC to emulate an 
IBM 3278 monochrome display station 
or an IBM 3279 color display station. 
Users can transfer files to and from host 
systems in 3270 data stream environ¬ 
ments. Advanced capabilities provided 
by the new adapter include multiple 
concurrent 3270 sessions and new 
connectivity options. $595. 

Several new products that enhance 
the capabilities of the IBM Token-Ring 
Network have been announced. The 
Token-Ring Network/PC Network 
Interconnect Program provides a 
connection between the IBM Token- 
Ring Network and the IBM PC Network. 
A dedicated PC running only the inter¬ 
connect program is attached to both 
using adapters. This permits devices on 
one network to communicate with 
devices on the other. $495. 


The Token-Ring Network Basic 
Input/Output System (NETBIOS) 
Program provides a NETBIOS pro¬ 
gramming interface for the Token-Ring 
Network. The program allows applica¬ 
tions programs to be written for opera¬ 
tion on both the Token-Ring Network 
and the IBM PC Network. $35. 

With the IBM Asynchronous 
Communications Server Program, 
PCs on the Token-Ring Network or the 
IBM PC Network can access ASCII appli¬ 
cations via switched communication 
lines. Attached PCs can share this com¬ 
munication server and its asynchronous 
communications lines. $495. 

Also available for use with the 
Token-Ring Network is the Advanced 
Program-to-Program Communica¬ 
tion for the IBM PC (APPC/PC) This 
program supports the SNA applications 
programming interface (LU 6.2 and PU 
2.1) and allows program-to-program 
communication over the IBM Token- 
Ring Network as well as synchronous 
data link control (SDLC) communication 
links. $150. 

IBM Corporation, Information Systems 
Group, Rye Brook, NY 10573; Contact 
the local IBM dealer, 800/426-2468 

CIRCLE 302 ON READER SERVICE CARD 

Version 2.0 of IBM’s XENIX Operat¬ 
ing System has been announced. This 
version offers many functional enhance¬ 
ments but maintains binary compatibil¬ 
ity with programs developed under 1.0. 
Version 2.0 supports up to 3MB of 
memory 7 , provides dynamic memory 
management and protection, includes a 
hierarchical hie system and three com¬ 
mand interfaces, and supports the 80287 
coprocessor. The IBM PC XENIX 
Operating System Extensions pro¬ 
vide additional end-user functions in the 
XENIX environment that enhance com¬ 
patibility with other IBM UNIX System V 
derivative products. The enhancements 
include a full-screen editor with wind¬ 
owing, a function-key driven user inter- 


32 


PC TECH JOURNAL 















SigmaEGA! by Sigma Designs 


IBM PC Convertible 


face, UNIX System V accounting func¬ 
tions, and versatile intersystem commu¬ 
nication facilities. XENIX 2.0, $429; 
upgrade, $299; XENIX Extensions, $475; 
upgrade, $235. 

Also introduced is version 2.0 of 
IBM’s XENIX Software Development 
System, which now includes a C lan¬ 
guage compiler that supports arrays 
larger than 64KB and an improved 
assembler with macro support and sev¬ 
eral new library routines and system 
calls. $499; upgrade, $299. 

Version 2.0 of IBM’s XENIX Text 
Formatting System contains extensive 
text processing components that sim¬ 
plify the production of technical reports, 
memoranda, formal papers, and docu¬ 
mentation. $159; upgrade, $99. 

IBM Corporation, Boca Raton, FL 
33429-1328; Contact the local IBM 
dealer, 800/426-2468 

CIRCLE 303 ON READER SERVICE CARD 


HARDWARE 

Intel Corporation has introduced a 
group of products that can link host 
computer systems into LANs in the 
microprocessor development laborato¬ 
ry. The Open Development Networking 
products include OpenNET Network 
Resource Manager (NRM), VAX Link 
R2.1, and OpenNET PC Link and 
Compilengine. This network allows 
dissimilar computers and operating sys¬ 
tems to be joined in a single network. 

The NRM is a high-capacity file 
server (up to 560MB) that allows any 
workstation on the network to gain 
transparent access to share files stored 
in the NRM’s protected hierarchical file 
system. VAX Link R2.1 supports hie copy 
and distributed job control between 
VAX/VMS R4.2 systems and the Open¬ 
NET NRM. OpenNET PC Link uses an 
add-in EtherNet controller and Open¬ 
NET software to allow PC/XTs, PC/ATs, 
and compatibles to access hies on an 


OpenNET server as if the hies were on 
the PC itself. Compilengine is a special¬ 
ized server that imports time-consuming 
compilations and link/locates from sys¬ 
tems on the network through distrib¬ 
uted job control. Compilengine features 



Intel’s OpenNET 

an 8-MHz 80286 CPU, a 1MB zero-wait- 
state RAM, and a 40MB Winchester hard 
disk with a controller that has an 80186 
and 32KB of track caching. OpenNET 
NRM with 40MB hard disk, $14,995; with 
140MB hard disk and 60MB streaming 
tape drive, $23,995; OpenNET PC Link, 
$1,250; Compilengine, $13,995; VAX 
Link, $7,500. 

Intel Corporation, Literature Dept. 

W274, 3965 Bowers Avenue, Santa 
Clara, CA 95051; 800/548-4725 

CIRCLE 304 ON READER SERVICE CARD 

The PC Supercharger from Dynatec 
Systems, Inc. is a speed optimizer that 
enables a PC, PC/XT, or compatible to 
run at twice its normal operating speed. 
Because this small plug-in board uses an 
8088-1 microprocessor, it is 100-percent 
compatible with a system’s existing 
hardware and software. The Super¬ 
charger is totally transparent to the sys¬ 
tem and the user. It plugs directly into 
the 8088 socket, with no modification to 
the system required. All expansion slots 
are free for memory, video, and other 
peripheral boards. $279.95. 

Dynatec Systems, Inc., 870 E. 9400 
South, Suite 103-B, Salt Lake City, UT 
84070; 801/572-6867 

CIRCLE 310 ON READER SERVICE CARD 


The SigmaEGA! is a high-resolution 
graphics board from Sigma Designs 
that incorporates graphics standards for 
the IBM Enhanced Graphics Adapter, 
the IBM Color Graphics Adapter, the 
IBM Monochrome Display Adapter, and 
the Hercules Graphics Adapter. The 
SigmaEGA! includes 256KB of on-board 
standard memory, which enables users 
to run all EGA graphics modes without 
purchasing supplementary memory 
expansion modules. $595. 

Sigma Designs, 2023 O’Toole Avenue, 
San Jose, CA 95131; 408/943-9480 

CIRCLE 305 ON READER SERVICE CARD 

A keyboard designed to work with 
micro-to-mainframe 3270 emulation 
packages has been developed by Key 
Tronic Corporation. The KB 3270/PC 
Keyboard has a 122-key layout and is 
plug-compatible with the PC, PC/XT, and 
PC/AT. The KB 3270/PC works with 
many 3270 emulation packages, includ¬ 
ing products from CXI, forte, Attach- 
mate, and IRMA. $326. 

Key Tronic Corporation, P.O. Box 
14687, Spokane, WA 99214-0687; 
509/928-8000 

CIRCLE 313 ON READER SERVICE CARD 

A ring concept LAN is available from Ra- 
core Computer Products, Inc. LAN- 

pac transfers data at the rate of 2 mega¬ 
bits per second. It consists of propri¬ 
etary LAN ring architecture on a plug-in 
network interface card and the neces¬ 
sary cable and connectors. LANpac can 
link 250 terminals in any configuration, 
with up to 1,000 feet between the 
nodes. LANpac offers repeaters that can 
increase the distance between nodes up 
to 10,000 feet. It runs with IBM PC net¬ 
work software on the PC, PC/XT, PC/AT, 
PC/r, and compatibles. $295 per node. 
Racore Computer Products, Inc., 10 
Victor Square, Scotts Valley, CA 95066; 
800/325-1833; in California, 
800/255-7227 

CIRCLE 314 ON READER SERVICE CARD 


JUNE 1986 


33 



















TECH RELEASES 



Paradise Systems’ Short Color Card 


The Short Color Card and the Short 
Mono Card, both from Paradise Sys¬ 
tems, Inc., are 100-percent compatible, 
short-slot replacements for the IBM 
monochrome and color graphics display 
adapters. The Short Color Card provides 
flicker-free scrolling, eliminating snow, 
and displays 25 lines of 40 or 80 col¬ 
umns. Its character box is 8 by 8 pixels, 
and it offers a text resolution of 320 by 
200 or 640 by 200. It includes graphic 
modes of 320 by 200 with four colors 
and 640 by 200 with two colors. The 
Short Mono Card offers 25 lines by 80 
characters, has an 8-by-14-pixel charac¬ 
ter box, and provides text resolution of 
640 by 350. The Short Mono Card 
includes a parallel port. Color Card, 
$179; Mono Card, $199. 

Paradise Systems, Inc., 21 7 E. Grand 
Avenue, San Francisco, CA 94080; 
415/588-6000 

CIRCLE 307 ON READER SERVICE CARD 

Cheetah International, Inc. has an¬ 
nounced a no-wait state, add-on mem¬ 
ory board for the PC/AT. The cheetah 
card adds 2.5MB of memory per card 
and enables the AT to run up to 30 per¬ 
cent faster. Extra 2.5MB cheetah cards 
can be added to a system with the help 



CHEETAH CARD by Cheetah International 


of Cheetah’s c-disk software: users can 
configure a lOMB-plus VDISK in mem¬ 
ory that runs in a no-wait state. $945. 
Cheetah International, Inc., 107 
Community Blvd., Suite 5, Longview, TX 
75602 ; 800/243-3824; 
in Texas, 214/ 757-3001 

CIRCLE 306 ON READER SERVICE CARD 



IRMA’s FASTLINK internal version 


640 Plus from Tecmar, Inc. is a Lotus- 
certified memory board that uses a 
bank-switching technique to give the PC, 
PC/XT, and PC/AT the power to access 
memory not normally available under 
DOS. Each 640 Plus board adds from 
256KB to 2MB; as many as four boards 
can be installed in one PC for a total of 
8MB. RAM chips can be added to up¬ 
grade each board. 256KB, $475; 512KB, 
$595; 1MB, $995; 2MB, $,1,393. 

Tecmar, Inc., 6225 Cochran Road, 

Solon, OH 44139-3377; 216/349-0600 

CIRCLE 312 ON READER SERVICE CARD 

CSS Laboratories, Inc. introduced a 
motherboard that upgrades the PC/XT, 
equipping it with the power of a PC/AT. 
The XT-286 board elevates the mem¬ 
ory, clock speed, and all other functions 
of the XT to AT performance standards. 

It incorporates a high-performance, 
high-speed 16-bit 80286 microprocessor 
into the system and provides 512KB of 
on-board memory that can be increased 
to 4MB with a memory expansion card. 
Standard clock speed is switch select¬ 
able up to 8 MHz. No special software is 
required. Additional features of the XT- 
286 include 64KB ROM, which contains 
Award Software BIOS, 7-channel direct 
memory access, 16-level interrupt, and a 
realtime clock. $995. 

CSS Laboratories, Inc., 2134 S. 

Ritchey Street, Santa Ana, CA 92701; 
714/540-4141 

CIRCLE 317 ON READER SERVICE CARD 

MA Systems has announced two new 
products. The pc-at optimizer board 
incorporates the control logic process 
functions and can be equipped with up 
to 2.5MB of RAM. A plug-in to the main 
board adds another 2.5MB of RAM; a 
second plug-in adds one parallel and 
two serial ports. A second optimizer can 
be added to boost memory to 10MB; a 
third board can boost it to 15MB. The 
performer-286 board combines the Intel 
80286 included in the PC/AT with a VLSI 


chip that emulates the PC’s 8088 proces¬ 
sor. It carries 640KB of on-board, 16-bit, 
high-speed RAM, which increases a sys¬ 
tem’s speed up to 500 percent. The per- 
former-286 is 100-percent compatible 
with PC and PC/XT software, pc-at opti¬ 
mizer with 5MB plus I/O expander, 
$2,200; PERFORMER-286, $1,149- 
MA Systems, 2015 O'Toole Avenue, 

San Jose, CA 95131; 800/543-6546; in 
California, 800/223-3276 

CIRCLE 318 ON READER SERVICE CARD 

Digital Communications Associates, 
Inc. (DCA) has announced a new re¬ 
lease of irma’s fastlink, a modem that 
enables users to send information to 
other PCs, mainframe computers, and 
minicomputers at speeds up to 18,000 
bps over ordinary dial-up telephones 
without compressing the data. The 
modem’s high rate of speed is due to 
fastlink’s technology, developed by 
Telebit Corporation, which combines 



IRMA’s FASTLINK stand-alone version 


a multicarrier modulation scheme, digi¬ 
tal signal processing, and packet tech¬ 
nologies to provide a dramatic increase 
in the rate of transmission over the pub¬ 
lic-switched telephone network. Data 
are transmitted asynchronously with 
error-detection and correction capabili¬ 
ties. Card version, $1,995; stand-alone, 
$2,395; upgrades, $99; factory upgrades 
by DCA, $250. 

Digital Communications Associates, 

Inc., 1000 Alderman Drive, Alpharetta, 
GA 30201; 404/442-4000 

CIRCLE 309 ON READER SERVICE CARD 


34 


PC TECH JOURNAL 















Turbo Pascal and the Turbo Pascal 
family give you a perfectly integrated 
programming environment and 
unbeatable speed, power, and price 


T urbo Pascal® is faster than 
any other Pascal compiler, 
and at only $69.95, a distinctly 
better deal. But it offers much 
more than speed, power, 
and price. 

There’s also the complete 
Pascal family of products that’s 
grown from 1 to 9 products in 
just 3 years. 

Turbo Pascal is backed by a 
complete range of “toolboxes” that 
give you most of the programming 
tools you’ll ever need. 

The Turbo Pascal family is 
never static, but is continuously 
expanding, with new products 
like Turbo Editor Toolbox™ and 
Turbo Gameworks.™ 

The secret of software success is 
not merely low price, but top quality, 
allied with complete documentation, 
like our 400-page reference manual. 

All of which are some of the 
reasons why Turbo Pascal is clearly 
the leader, and the recipient of 
awards like PC Week’s “Product of 
the Year” and PC Magazine’s 
“Award for Technical Excellence.” 
And some of the reasons why Turbo 
Pascal has now become a de facto 
worldwide standard with more than 
half a million users. 

Turbo Pascal has grown 
from a single product 3 
years ago to a family 
of 9 today 

Success breeds success, so the 
Turbo Pascal family has flourished. 
Your choices now include: 

□ Turbo Pascal 3.0 combines 
the fastest Pascal compiler with 
an integrated development 
environment. 

□ Turbo Pascal with 8087 math 
co-processor support for heavy duty 
number-crunching, and/or Binary 



Turbo Pascal 3.0 
Turbo Pascal with the 
8087 support 
Turbo Pascal with 
Binary Coded Decimal, 
(BCD) 

Turbo Pascal with 8087 
and BCD 
Turbo Database 
Tbolbox™ 

Turbo Graphix Toolbox™ 
Turbo Tutor® 

Turbo Editor Tbolbox 
Turbo GameWorks 


Coded Decimals to 

eliminate rounding-off 
errors for business 
applications. 

□ Turbo Database Toolbox is a 

perfect complement to Turbo Pascal. 
It includes a complete library of 
Pascal procedures that allows you to 
search and sort data, and build 
powerful database applications. 

□ Turbo Graphix Tbolbox includes 
a library of graphics routines for 
Turbo Pascal programs. Lets even 
beginning programmers create 
high-resolution graphics with an 
IBM,® Hercules,™ or compatible 
graphics adapter. Does complex 
business graphics, ea^y windowing, 
and stores screen images to 
memory. 

Vf! Amazing value! Turbo 
Editor Toolbox includes 
MicroStar ;™ a full-blown 
editor that also does windows! 

Turbo Editor Toolbox not only gives you 
ready-to-compile source code and a 200- 
page manual that tells you how to inte¬ 
grate the editor procedures and functions 
into your programs, but also Includes 

UBW! Turbo GameWorks 
gives you the games you 
can write, rewrite, bend and 

amend Turbo GameWorks reveals 
the secrets of game design and the 
strategies. You’re given source code, a 
200-page manual, and the insight 


MicroStar, a complete editor with full 
windowing capabilities. (You could pay 
$100.00 or more for a program like 
MicroStar, but you get it free as part of 
our Turbo Editor Toolbox.) You can also 
use Turbo Editor (which of course in¬ 
tegrates with Turbo Lightning™) to 
build your own word processor! 


needed to write and customize your 
own irresistible games. 

Turbo GameWorks also includes ready- 
to-play Chess, Bridge, and GoMoku-an 
ancient Japanese game that can divert 
you from reality for hours on end. 


u Language deal 
of the century... 

Turbo Pascal 

Jeff Duntemann, PC Magazine 

Turbo Pascal has got 
to be the best value 
in languages on the 
market today 

Jerry Poumelle, BYTE Magazine 

This compiler, produced 
by Borland International, 
is one of the best pro¬ 
gramming tools presently 
available for the PC 

Michael Covington, mm 
PC Tech Journal 


|r □ Turbo Tutor teaches you 
step by step how to use Turbo 
Pascal, with commented source code 
for all program examples on diskette. 

Save $109.70 when you 
choose the Turbo Jumbo 
Pack. 6 different Turbo 
Pascal products for only 
$245.00! 

For only $245.00, you get Turbo 
Pascal 3.0 and Turbo Editor Toolbox 
and Turbo Tutor and Turbo Graphix 
Toolbox and Turbo GameWorks and 
Turbo Database Toolbox! 

All 6 for only $245.00, which saves 
you $ 109.70. This limited offer is 
good through September 1,1986, so 
act now. 


YES! 


I want 
the best 


To order by phone, 
or for a dealer nearest you, 

call (800) 255-8008 

in CA call (800) 742-1133 


Copies Product 

Price 

Totals 

_ Turbo Pascal 3.0 

$69.95 

$ _ 

_ Turbo Pascal w18087" 

$109.90 

$ _ 

_ Turbo Pascal w/BCD n 

$109.90 

$ _ 

_ Turbo Pascal w/8087, BCD n 

$124.95 

$ _ 

— Turbo Database Toolbox 

$54.95 

$ _ 

_ Turbo Graphix Toolbox1 

$54.95 

$ _ 

— Turbo Tutor 

$34.95 

$ _ 

— Turbo Editor Toolbox' 

$69.95 

$ _ 

_ Turbo GameWorks' 

$69.95 

$ _ 

_ Turbo Jumbo Pack' 

*$245.00 

$ _ 




BORLAND 

INTERNATIONAL 


4585 SCOTTS VALLEY DRIVE 
SCOTTS VALLEY, CA 95066 
(408) 438-8400 TELEX: 172373 


Outside USA add $10 per copy 

CA and MA res. add sales tax $ _ 

Amount enclosed $ _ 

Prices include shipping to all US cities. 

Carefully describe your computer system: 

Mine is: _ 8-bit _ 16-bit 

I use: _ PC-DOS _ MS-DOS _ CP/M-80 _ CP/M-86 

My computer's name and model is: 

The disk size I use is: □ 316' □ 5W □ 8‘ 

Payment: VISA MC Bank Draft Check 

Credit card expiration date / 

.ill 

i I I i I. 

NOT COPY PROTECTED 
• • 60-DAY MONEY-BUCK GUARANTEE 

Name: 

Shipping Address: . 

City:. 


Telephone: 

CODs and purchase orders WILL NOT be accepted by Borland. 
Outside USA make payment by credit card or International Postal 
Money Order. 

*Limited Time Otter until September 1,1986. 

**YES, if within 60 days of purchase this product does not 
perform in accordance with our claims, call our customer service 
department and we will gladly arrange a refund. 

Minimum System Requirements: 

Turbo GameWorks, Turbo Graphix Toolbox, & Turbo Editor 
Toolbox—192K. All other products, 128K. 

' IBM PC, PCjr, AT, XT, 
and true compatibles. 
n 76-6" ' 


GameWorks; Turbo Editor TbolbcspWoid Wizard; Reflex, The Analyst; SldeKlck SldeklckT^toclntoeh Office Manager, Traveling SldeKlck; 
and SuperKey- all of which are trademarks or registered trademarks of Borland International, Inc. or Borland/Analytlca, Inc. 

Tbrbo Pascal and Turbo Tutor are registered trademarks, and Turbo GameWorks, Turbo Editor Tbolbox, Turbo Database Tbolbox, Turbo 
Graphix Tbolbox, Turbo Lightning, and MicroStar are trademarks of Borland International. IBM is a registered trademark of 
International Business Machines Corp. Hercules is a trademark of Hercules Computer Tbch. 

Copyright 1966 Borland International. BI-1O06C 

CIRCLE NO. 253 ON READER SERVICE CARD 



























TECH RELEASES 


Orchid’s PCturbo 286e (left) and TinyTurbo 286 


version 1.1 


Two new 80286-based accelerator 
boards have been introduced by 
Orchid Technology. The no-wait-state 
PCturbo 286e uses an 8-MHz 80286 
CPU, an 80287 math processor socket, 
and a 16-bit internal system bus to 
improve overall system throughput up 
to 3-5 times in all applications classes. 
With the connection of an optional RAM 
daughtercard, the PCturbo 286e can 
accommodate the Lotus/Intel/Microsoft 
expanded memory specification (EMS). 
The system includes Orchid’s produc¬ 
tivity software, which can improve 
throughput 10 to 20 times. $1,195. 

The TinyTurbo 286 is a half-slot 
accelerator board that achieves process¬ 
ing speeds three times faster than those 
of the PC or PC/XT. The TinyTurbo 286 
uses an 80826 CPU and plugs directly 
into a host computer’s 8088 processor 
socket. Because the 80286 processor of 
the TinyTurbo, which is equipped with 
16-bit on-board bus and an 8KB static 
RAM cache, operates independently of, 
but in tandem with, the PC, it can access 
all system memory, including EMS and 
RAM disk. $695. 

Orchid Technology, 47790 Westing- 
house Drive, Fremont, CA 94539; 
415/490-8586 

CIRCLE 308 ON READER SERVICE CARD 

A hardware/software communications 
package designed to facilitate communi¬ 
cations between LAN systems and main¬ 
frame computers has been introduced 
by Novell, Inc. The NetWare/SNA 
Gateway makes it possible for all work¬ 
stations on a LAN to communicate in a 
cost-effective way with a host computer. 
It allows one modem to serve as many 
as 32 users on the network. The Net¬ 
Ware SNA/Gateway is a nondedicated 
machine attached to the LAN; it must be 
a PC/AT or compatible. This computer 
maintains communications between the 
host and the network. Features include 
multiple host sessions, multiple gate¬ 
ways, emulation features, and a hot-key 


capability. The package includes soft¬ 
ware, the SNA communications card, an 
adapter cable, a manual, and eight key¬ 
board overlays. For 1 to 8 sessions, 
$5,530; 1 to 16 sessions, $6,095; 1 to 32 
sessions, $7,495. 

Novell, Inc., 1170 N. Industrial Park 
Drive, Orem, UT 84057; 801/226-8202 

CIRCLE 319 ON READER SERVICE CARD 

Curtis, Inc. has announced a new ver¬ 
sion of the romdisk pc eprom disk and 
disk drive emulator accessory card. The 
pc ro, a read-only version of the rom¬ 
disk pc, is available in both a single- 
sided double diskette (SSDD) equiva¬ 
lent (180KB) and a double-sided dou¬ 
ble-density diskette (DSDD) equivalent 
(360KB). Another version of the cpc ro 
is allows multiple romdisk pc ros or a 
PC-1 or PC-2 and one or more cpc ros to 
operate in a single computer. The user 
programs the eproms on a romdisk pc-i 
or PC-2 by copying a master disk to rom¬ 
disk pc then transferring the eproms to 
the romdisk pc ro. After they have been 
programmed, multiple copies of the 
eproms can be made on a standard gang 
eprom programmer, romdisk pc ro ssdd, 
$395; dsdd, $495; romdisk pc-i, $495; 
romdisk pc-2, $595. 

Curtis, Inc., 22 Red Fox Road, St. Paul, 
MN 55110; 612/484-5064 

CIRCLE 315 ON READER SERVICE CARD 

The SpeedPac 286, powered by an 
Intel 8-MHz 80286 and coupled with 
8KB of on-board memory, increases the 
performance of a PC or PC/XT by as 
much as 700 percent. This turbo board, 
introduced by victor Technologies, 
Inc., fits in a half-size expansion slot 
and requires no special software. The 
SpeedPac 286 is backed by a 60-day 
unconditional money-back guarantee 
and a full one-year warranty. $595. 
victor Technologies, Inc., 380 El Pueblo 
Road, Scotts Valley, CA 95066-4269; 
408 / 438-6680 
CIRCLE 316 ON READER SERVICE CARD 


SOFTWARE 

Version 1.1 of Paradox has been re¬ 
leased by Ansa Software. The new ver¬ 
sion of this relational database incorpo¬ 
rates a multiple-table update facility to 
add or revise data in two or more files 
at once from a single form, a full-fea¬ 
tured applications generator to create 
sophisticated database programs without 
programming, and new PAL (Paradox 
Applications Language) commands that 
allow procedures to be stored in binary 
form, which results in much faster pro¬ 
gram loading and operation. Other en¬ 
hancements include improved memory 
use for increased speed and perform¬ 
ance, an improved procedure for im¬ 
porting ASCII files, automatic updating 
of reports and forms, and access to DOS 
from Paradox or PAL programs. Paradox 
1.1 is not copy protected. $695; updates 
are free to registered users, $19.95 to 
nonregistered users. 

Ansa Software, 1301 Shoreway Road, 
Belmont, CA 94002; 800/547-3000; in 
California, 415 / 595-4469 

CIRCLE 320 ON READER SERVICE CARD 

Arrix Logic Systems, Inc. has an¬ 
nounced APS/microDCF, a modular 
text processing system compatible with 
IBM’s mainframe Document Composi¬ 
tion Facility (DCF). APS/microDCF con¬ 
sists of three program modules: a text 
editor (APS/SPF), a high-performance 
text formatter, and a printer manager. 
Functional capabilities include multi- 
column formats, an automatic table of 
contents, a list of illustrations, a back-of- 
book index, and referencing of head¬ 
ings, footnotes, and figures. User-written 
macros and logical symbols are sup¬ 
ported, and text and graphics can be 
mixed on a page. $695. 

Arrix Logic Systems, Inc., 2465 E. 
Bayshore Road, Suite 301, Palo Alto, CA 
94303; 800/268-3599 

CIRCLE 332 ON READER SERVICE CARD 


36 


PC TECH JOURNAL 















.Reflex; The Analyst upgrades and adds the new Reflex Workshop! 

Why running your "business without 
Borland’s Reflex and the new Reflex 



The best database 


around... at any price. 

Jean Lockwood, 
Computer Retail News 




CIRCLE NO. 254 ON READER SERVICE CARD 


Workshop is an act of blind faith 


uiming a successful 
business isn’t something 
you can do with your eyes 
shut, but no matter what 
business you’re in, Reflex" 
and the new Reflex 
Workshop™ give you all 
the tools and views to see 
what all the numbers 
look like. 

Using Lotus 1-2-3 ® or dBASE* 
without Reflex is like driving 
at night without lights 
Products such as 1-2-3 or dBASE 
can do the numbers for you, but you 
may still not get the picture-simpfy 
because they can’t show you 
analytical graphs and pictures of 
your data, nor can they analyze and 
summarize all the information you 
manipulate like Reflex cam 


man- 


bytes of RAM, 32,000 records, and 
250 fields per record with the now- 
legendaiy “Reflex Lightning Speed.” 

Furthermore, Reflex 1.1 with 
its EGA support displays 40 lines 
of information in its spreadsheetr 
style List View, compared to less 
than 25 lines displayed by 


Reflex gives you five graphic ways of looking at your data, 
five different ways of analyzing your information. 


The FORM VIEW lets you build 
and examine your 


y 




The REPORT VIEW 

allows you to generate 
everything from 
mailing labels to 
sophisticated reports. 
You can use database 
files created with 
Reflex or transferred 
from 1-2-3, dBASE, 
PFS: FILE, and other 
applications. 


The LIST VIEW lets you 
put data in tabular list 
form just like a 
spreadsheet. 


The GRAPH VIEW gives 
you instant interactive 
graphic representations. 


The CROSSTAB VIEW gives you 
amazing "cross-referenced" 
pictures of the links and 
relationships hidden in your data. 


Everyone agrees 
that Reflex is the best¬ 
looking database they’ve 
ever seen. 

Adam B. Green, InfoWorld 

Reflex excels as an 
analytical tool... this 
program can become 
eveiyman’s database 
manager. 

Frank J. Derfler, PC Magazine 

Borland has done it 
again. 

Sheldon L Richman, H 
Washington Post 


special 


offer* 


SPECIAL 


offer* 


The best Just got better. 
Introducing Reflex 1.1 
The new Reflex 1.1 with extended 


If you already bought Reflex 
1 . 0 , get Reflex 1.1 and the 
Reflex Workshop for only 
$59.95 

Because you bought Reflex from 
us, you’re “our kind of people.” And 
since we’re not the “take-the-money- 
and-run” kind of company, you can 
upgrade to Reflex 1.1 and the Reflex 
Workshop for only $59.95. If you 
prefer to simply upgrade to Reflex 1.1, 
you can do that for only $ 10. 

f Introducing the 
? | Reflex Workshop 

Only $69.95 

A major addition to Reflex, the new Reflex 
Workshop gives you a wide range of 
analytical tools written for specific 
applications. You can use these tools "as 
is" or modify them to suit your analytical 
and business needs. What you have to 
work with right away are 25 different tools: 
For Finance/Accounting: 

• Business Expense Tracking 

• Petty Cash Tracking 

• Line of Credit Tracking & Analysis 

• Accounts Receivable Tracking & Aging 
Analysis 

• Purchase Order Entry & Analysis 

• Purchase Order Tracking System 

• Leasing Inventory Management 

• Asset Inventory Tracking 

• Cash Management Trial Balance 


You get Reflex 1.1 and 
the Reflex Workshop for only 
$199.95* 

Sold separately, the new Reflex 
Workshop is $69.95 and Reflex is 
$149.95, totaling $219.90-butyou 
can get them both for a limited time 
only, at an amazing $ 199.95. So act 
now, rush to your nearest dealer, call 
us, or clip the coupon and put Reflex 
1.1 and the Reflex Workshop to work ;; 
for you right away! 


For Administration: 

• Membership Dues Tracking and 
Analysis 

• Mail List 

• Time Management 

• Appointment Scheduling 

• Applicant Tracking & Inquiry System 

• Facilities Planning 

For Sales & Marketing: 

• Sales Lead Tracking & Analysis 

• Store Check Inventory Analysis 

• Sales Analysis 

• Trend Analysis 

• Research Questionnaire Analysis 

For Production and Operations: 

• Manufacturing Quality Assurance 
Tracking 

• Assembly Repair Turnaround Tracking 

• Commercial Real Estate Tracking 
& Analysis 

• Project Scheduling 

• Product Cost Analysis and Control 


4585 SCOTTS VALLEY DRIVE 
SCOTTS VALLEY, CA 95066 
(408) 438-8400 TELEX: 172373 


BORLAND 

INTERNATIONAL 

\jtJ& 

Borland products include Turbo Pascal; Turbo Prolog; Turbo Database Toolbox; Turbo Lightning; Turbo 
Graphix Toolbox; Turbo Tutor; Turbo GameWorks; Tixbo Editor Toolbox; Word Wizard; Retlex, The Analyst; 
Retlex Workshop; SideKick; SideKick, The Macintosh Office Manager; Traveling SideKick; and SuperKey— 
of which are trademarks or registered trademarks of Borland International, Inc. or Borland/Analytica, Inc. 

Retlex and Reflex Workshop are trademarks of Borland/Analytica, Inc. dBASE is a registered trademark of 
Ashton-Tate. Lotus 1-2-3 is a registered trademark of Lotus Developement Corp. Above Board is a trademark:! 
of Intel Corp. RAMpage! is a registered trademark of AST Research Corp. Liberty is a trademark of Quadram 
Corp. Hercules is a trademark of Hercules Computer Tech. PFS: file is a registered trademark of Software 
Publishing Corp. IBM is a registered trademark of International Business Machines Corp. 

Copyright 1986 Borland International BI-1052 


YES! 


I want 
the best 

Send me Reflex and Reflex Workshop at: 

$ 199 . 96 ’ 

To order by phone, 
or for a dealer nearest you, 

call (800) 255-8008 

in CA call (800) 742-1133 

_ Reflex/Workshop(s) at $199.95" $ _ 

_ Reflex at $149.95' $ _ 

_ Workshop at $69.95' $ _ 

_ Upgrade to 1.1 and Workshop at $59.95 $ _ 

_ Upgrade to 1.1 at $10.00 $ _ 

(you must return your disks) 

Outside USA add $10 per copy 

CA and MA res. add sales tax $ _ 

Amount enclosed $ _ 

Prices include shipping to all U.S. cities 
t You must have an IBM or true compatible running 
DOS 2.0 or later. 

My computer's name and model is: 

The disk size I use is: □ 3/2' □ 5W 

Payment: VISA MC Bank Draft Check 

Credit card expiration date / 

l ll l I I M I I 


NOT COPY PROTECTED 
"60-DAY MONEY-BACK GUARANTEE 


Name: _ 

Shipping Address: . 


City: _ 
State: 

Telephone:. 


CODs and purchase orders WILL NOT be accepted by Borland. 
Outside USA make payment by credit card or International Postal 
Money Order. 

*Limited time offer until September 1,1986 
**YES, if within 60 days of purchase this product does not 
perform in accordance with our claims, call our customer service 
department and we will gladly arrange a refund. 
tMinimum System Requirements: 

384K—Runs on IBM PC, AT, XT, and true compatibles. IBM 
Color Graphics Adapter, Hercules Monochrome Graphics Card 
or equivalent. 

Reflex works with Intel’s Above Board AT and Above Board/PC, 
AST’s RAMpage! and RAMpage! AT, Quadram's Liberty-PC and 
Liberty-AT, Tecmar’s 640 Plus, IBM's EGA 
and 3270/PC, AT&T’s 6300, 
and many others. 

R6 




















































































Intel Corporation announced dos 
pscope, a software debugging tool that 
allows users to observe program execu¬ 
tion at the source code level by using 
high-level procedure and variable 
names and labels. It provides software 
engineers with a symbolic test environ¬ 
ment for program execution and in¬ 
cludes source code display, high-level 
code patching, and a procedural com¬ 
mand language. $995; in quantities of 
two or more, $795 each. 

Intel Corporation, Literature Dept., 
W280, 3065 Bowers Avenue, Santa 
Clara, CA 95051; 800/548-4725 

CIRCLE 321 ON READER SERVICE CARD 

V-EMM, the Virtual Expanded Memory 
Manager, from Fort’s Software is a soft¬ 
ware package that provides a true virtual 
memory capability to many programs 
that support the Lotus/Intel/Microsoft 
expanded memory specification. V-EMM 
provides the illusion that more ex¬ 
panded memory than the amount ac¬ 
tually installed is available. Up to 8MB of 
virtual expanded memory can be pro¬ 
vided with only a modest amount of 
real expanded memory. $89.95. 

Fort’s Software, P.O. Box 396, Man¬ 
hattan, KS 66502; 913/537-2897 

CIRCLE 322 ON READER SERVICE CARD 

Source Print, a structured formatting 
utility that organizes data and clarifies 
print-outs, has been announced by Al- 
debaran Laboratories, Inc. This utility 
for database and computer program¬ 
ming can format print-outs of source 
code in C, Pascal, BASIC, and dBASE n 
and hi. A unique structure outlining fea¬ 
ture draws lines on a print-out to indi¬ 
cate to programmers at a glance the 
overall structure of a program. A print 
feature provides automatic indentation 
based on block nesting levels. $97. 
Aldebaran Laboratories, Inc., 3738 Mt. 
Diablo Blvd., Building 312, Lafayette, 

CA 94549; 415/283-7084 

CIRCLE 326 ON READER SERVICE CARD 


A comprehensive library of object- 
oriented functions and subsystems for 
the C programming language has been 
introduced by Phoenix Computer 
Products Corporation. PforCe is writ¬ 
ten in C and assembly language and of¬ 
fers programmers both high- and low- 
level functions that are fully integrated, 
optimized, debugged, and ready to use. 
High-level functions allow programmers 
to manipulate windows, screens of 
fields, and Lotus-like menus, and han¬ 
dles databases as objects. Low-level 
functions give programmers complete 
hardware control and defaults that can 
be changed. PforCe is available for the 
Microsoft, Lattice, Computer Innova¬ 
tions, and Wizard C compilers. $395. 
Phoenix Computer Products Corpora¬ 
tion, 320 Norwood Park S, Norwood, 

MA 02062; 617/762-5030 

CIRCLE 323 ON READER SERVICE CARD 

A software product for computer-aided 
mathematics has been introduced by 
MathSoft, Inc. With MathCAD, users 
can enter and calculate equations, create 
plots, and enter and edit text on the 
same screen. MathCAD’s simple word 
processor style permits the user free¬ 
form entry, text-like editing of equa¬ 
tions, familiar keystrokes, and equations 
that appear on the screen just as they 
would appear in textbooks or on a 
blackboard. Single keystroke computa¬ 
tions result as a single number or plot, 
and users can print as a document all 
information as it appears on the screen. 
MathCAD understands the equations and 
automatically presents them in correct 
form on screen; it sizes brackets and 
fraction bars interactively as the user 
enters an equation and places expo¬ 
nents, subscripts, square roots, and sum¬ 
mation signs in arbitrarily complex 
combinations. $189. 

MathSoft, Inc., One Kendall Square, 
Cambridge, MA 02139; 800/MathCAD; 
in Massachusetts, 617/577-1017 

CIRCLE 324 ON READER SERVICE CARD 


Microsoft Access version 1.01 is 
available from Microsoft Corporation. 

New features of this business informa¬ 
tion access program for electronic com¬ 
munications include updated custom 
menus, a new installation feature for 
hard disks, speed enhancements, and 
non-copy-protected disks. $250. 

Also from Microsoft comes a net¬ 
working product for its XENIX System 
V/286 operating system. Microsoft Net¬ 
works for XENIX provides networking 
and distributed file system capabilities 
on computers running XENIX System V 
and transparent file sharing with PCs 
running DOS in a LAN. Microsoft Net¬ 
works is being offered to OEMs licensed 
for XENIX System V. Pricing is variable; 
OEMs should contact the company. 
Microsoft Corporation, 16011 N.E. 

36th Way, Redmond, WA 98052-6399; 
800/426-9400 

CIRCLE 325 ON READER SERVICE CARD 

Ungermann-Bass, Inc. introduced a 
software package that enables PCs to 
communicate with IBM and Digital 
Equipment Corporation (DEC) host 
applications programs, Microsoft Net¬ 
work-based hie and print servers, and 
PC applications via the Ungermann-Bass 
Net/One general purpose LAN. The 
3270 Personal Connection operates 
with the Net/One Personal Connection 
Network Interface Unit and the Net/One 
NIU-74 to connect PCs to any IBM 3274 
controller. When running Model I of 
the program, the PC emulates an IBM 
3278/79 terminal; a hot key permits tog¬ 
gling between a host session and a PC 
session. Model II enables a user to con¬ 
nect to multiple IBM host systems, view¬ 
ing up to four applications simulta¬ 
neously, or to connect to a DEC host to 
run two VT100 terminal sessions at the 
same time. Model I, $95; Model II, $595. 
Ungermann-Bass, Inc., 2560 Mission 
College Blvd., Santa Clara, CA 95052; 
408/496-0111 

CIRCLE 329 ON READER SERVICE CARD 


version 1.01 


TECH RELEASES 


PforCe library from Phoenix 


Aldebaran 


Print 


38 


PC TECH JOURNAL 

















Turbo Prolog 1.0 
Technical Specifications 
Programming System Features 
Ef Compiler: Incremental compiler gen¬ 
erating native in-line code and linkable 
object modules. The linking format is 
compatible with the PC-DOS linker. Large 
memoiy model support Complies over 2500 
lines per minute on a standard IBM PC. 


includes a powerful Interactive M-screen 
text editor. If the compiler detects an error, 
the editor automatically positions the 
cursor appropriately In the source code. At 
run-time, Turbo Prolog programs can call 
the editor, and view the running program’s 
source code. 

Ef Type System: A flexible opjectrorlenied 
type system Is supported. 

Ef Windowing Support: The system 
supports both graphic and text wlndowa 

Ef Input/Output: Full I/O facilities, 
including formatted I/O, streams, and 
random access flies. 

Ef Numeric Ranges: Integers: -32707 to 
32767; Reals: IE-307 to 1E+308 
Ef Debugging: Complete built-in trace de¬ 
bugging capabilities allowing single 
stepping of programs. 


Turbo Prolog at only: 


To order by phone, 
or for a dealer nearest you, 

Call (800) 255-8008 

in CA call (800) 742-1133. 

Send me _ Turbo Prolog at $ _ 

Outside USA add $10 per copy 

CA and MA res. add applicable sales tax $ _ 

Amount enclosed: $ _ 

This price includes shipping to all US cities 
Payment: VISA MC Bank Draft Chet 

Credit card expiration date: / 


You must have an IBM or true compatible running 
DOS 2.0 or later.** 

My computer's name and model is: 


The disk size I use is: □ 3V7 □ 5W 

NOT COPY PROTECTED 
*60-0AY MONEY-BACK GUARANTEE 


Shipping Address: 


Telephone: _ 

CODs and purchase orders WILL NOT be accepted by 
Borland. Outside USA make payment by credit card or 
International Postal Money Order. 

*YES, if within 60 days of purchase this product does 
not perform in accordance with our claims, please call 
our customer service department and we will gladly 
arrange a refund. 

** Minimum system requirements: 

IBM PC, XT, AT, PCjr, 
and true compatibles 

384K BAM ^ 


wsEm 


Step-by-step tutorial, demo programs with source code included! 

Borland introduces Turbo Prolog, 
the natural language of 
Artificial Intelligence^ 

Prolog is probably the most 
powerful computer programming 
language ever conceived, which is 
why we’ve made it our second 
language—and “turbocharged” it to 
create Turbo Prolog.'" 

Our new Turbo Prolog brings 
supercomputer power to your IBM® 

PC and introduces you step-by-step to 
the fascinating new world of Artificial 
Intelligence. And does all this for an 
astounding $99.95. 


Turbo Prolog is to 
Prolog what Turbo 
Pascal 9 is to Pascal! 

Our Turbo Pascal astonished 
everyone who thought of Pascal 
as “just another language.” We 
changed all that—and now Turbo 
Pascal is the de facto worldwide 
standard, with hundreds of 

thousands of enthusiasts 
and users in 
universities, 
research 
centers, 
schools, 
and with pro¬ 
fessional program¬ 
mers, students, 
and hobbyists. 

You can expect at least the 
same impact from Turbo Prolog, 
because while Turbo Prolog is the 
most revolutionary and natural 
programming language, it is also 
a complete development environ¬ 
ment-just like Turbo Pascal. 

Turbo Prolog radically alters 
and dramatically improves the 
brave new world of artificial 
intelligence—and invites you into 
that fascinating universe for a 
humanly intelligent $99.95. 


] Even if you've never 
^programmed before , 
our free tutorial will 
get you started right away 

You’ll get started right away 
because we have included a 
complete step-by-step tutorial as 
part of the 200-page Turbo Prolog 
Reference Manual. Our tutorial 
will take you by the hand and 
teach you everything you’re likely 
to need to know about Turbo 
Prolog and artificial intelligence. 

For example: once you’ve 
completed the tutorial, you’ll be 
able to design your own expert 
systems utilizing Turbo Prolog’s 
powerful problem-solving 
capabilities. 

Think of Turbo Prolog as a 
high-speed electronic detective. 
First you feed it information and 
teach it rules. Then Turbo Prolog 
“thinks” the problem through 
and comes up with all the 
reasonable answers—almost 
instantly. 

If you think that this is 
amazing, you just need to 
remember that Turbo Prolog is a 
5th-generation language—and 
the kind of language that 21st 
centuiy computers will use 
routinely. In fact, you can 
compare Turbo Prolog to 


Turbo Pascal the way you 
could compare Turbo Pascal to 
machine language. 

You get the complete 
Turbo Prolog 
programming system 
for only $99.95 

You get a complete Turbo 
Prolog development system 
including: 

■ The lightning-fast Turbo Prolog 
incremental compiler and the 
interactive Turbo Prolog editor. 

■ The 200-page reference 
manual which includes the step-1 
by-step Turbo Prolog tutorial. 

■ The free GeoBase™ natural 
query language database 
including commented source 
code on disk—ready to compile. 
GeoBase is a complete database 
designed and developed around 
U.S. geography It includes cities, 
mountains, rivers, and highways, 
and comes complete with natural 
query language. Use GeoBase j 
immediately “as is,” or modify it 

to fit your own interests. 

So don’t delay—don’t waste a 
second—get Turbo Prolog now 
$99.95 is an amazingly small 
price to pay to become an 
immediate authority—an instant § 
expert on artificial intelligence! 
The 21st centuiy is only one 
phone call away. 


BORLAND 

INTERNATIONAL 


4585 SCOTTS VALLEY DRIVE 
SCOTTS VALLEY, CA 95066 
(408)438-8400 TELEX: 172373 


Other Borland Products Include Turbo Pascal; Turbo Tutor; Turbo Lightning; Turbo Database Tbolbox; Turbo Graphlx Tbolbox; 

Turbo Editor Tbolbox; Turbo GameWorks; SuperKey; SldeKlck; SldeKlck, The Macintosh Office Manager; Reflex, The Analyst; and 
Traveling SldeKlck—all of which are registered trademarks or trademarks of Borland International, Inc. or Borland/Analytlca, Inc. 
Turbo Prolog and GeoBase are trademarks and Turbo Pascal is a registered trademark of Borland International Inc. IBM and AT 
are registered trademarks of International Business Machines Corp. Copyright 1986 Borland International BI-1045D 

CIRCLE NO. 252 ON READER SERVICE CARD 






























COB by E-Z GEN 


TECH RELEASES 


C compiler by Tartan Laboratories 


Dynamical Systems, Inc. has released 
a software utility intended to speed up 
the PC/AT. The AT SpeedFixer Plus 

eliminates the disk drive errors that 
occur on ATs equipped with frequen¬ 
cies above 6 MHz. A keyboard speed-up 
utility reprograms the chip inside 
the AT keyboard to make it faster and 
more responsive. The AT SpeedFixer 
also provides software for speeding up 
the AT hard disk by 50 percent (by 
changing the interleave). $39.95. 
Dynamical Systems, Inc., 2511 
Fulton Street, Berkeley, CA 94704; 
800/227-2400, ext. 929 

CIRCLE 328 ON READER SERVICE CARD 

e-z gen has announced e-z cob, a pro¬ 
grammer productivity tool capable of 
generating COBOL programs for use on 
the PC as well as for code generation 
and prototyping of host on-line systems, 
such as IMS, CICS, and 8180/DPPX. Fea¬ 
tures of e-z cob include a powerful full¬ 
screen painting facility that supports 
both monochrome and color CRTs, a 
reusable code library that permits the 
storage of COBOL macros to be used by 
e-z cob, user exits that enable a devel¬ 
oper to include his own code in the 
programs, and context-sensitive help 
and tutorials during the development 
process, e-z cob is designed for use with 
REALLA COBOL. $495. 
e-z gen, Inc., 1019 Mt. Pleasant Way, 
Cherry Hill, NJ 08034; 609/428-0211 

CIRCLE 335 ON READER SERVICE CARD 

Concept Development Systems, Inc. 

has announced Line Plus, an asynchro¬ 
nous telecommunications software sys¬ 
tem for computer-to-computer commu¬ 
nications and remote access. File trans¬ 
fer protocols include Reliable, XMOD¬ 
EM, SmartCom, and standard text proto¬ 
cols. Emulation includes ANSI standard 
with full color, IBM 3101, DEC VT100/ 
102, DEC VT52, DG Dasher D220 with 
full color, Televideo 912, LSI ADM3A, 
TTY, and a special 25-line color termi¬ 


nal. Line Plus also enables a user to 
connect an office PC to a PC at home. 
Single user version, $199. Site and 
corporate licenses available. 

Concept Development Systems, Inc., 
2778 Hargrove Road, Suite 349, 
Smyrna, GA 30080; 404/434-4813 

CIRCLE 334 ON READER SERVICE CARD 

A new integrated systems development 
environment for planning, analyzing, 
designing, and constructing computer- 
based information systems has been 
announced by KnowledgeWare, Inc. 
The Information Engineering Work¬ 
bench software family uses expert-sys¬ 
tem and CAD/CAP techniques to auto¬ 
mate information engineering. A mouse 



Information Engineering Workbench screen 


creates, verifies, and revises full-color 
diagrams on the computer screen. Not 
only the picture, but also the meaning 
of the diagram is stored in a knowledge 
base called the Encyclopedia. The user 
can view different diagrams or portions 
of the diagrams simultaneously through 
the use of windows. $7,500. 
KnowledgeWare, Inc., 16250 Northland 
Drive, Suite 318, Southfield, MI 48075; 
313/443-0410 

CIRCLE 331 ON READER SERVICE CARD 

Prelude is a distributed information 
system that provides realtime data man¬ 
agement in a mixed network of mini¬ 
computers and desktop computers or 
remote processors. Created by Ventur- 
Com, Inc., this system is built around a 


powerful relational database system. 
Prelude’s architecture permits user ac¬ 
cess to shared files anywhere on the sys¬ 
tem, whether the files are physically 
maintained on a PC disk drive, a file 
server, or a minicomputer tape drive. 
Two-user configuration license for PC/ 
XTs, $1,800; configuration of 16 PC/XTs 
linked with a VAX supporting another 
16 terminals, $28,000. 

VenturCom, Inc., 215 First Street, 
Cambridge, MA 02142; 617/661-1230 

CIRCLE 330 ON READER SERVICE CARD 

From Tartan Laboratories, Inc. comes 
a highly optimizing C Compiler for the 
RT/PC. It runs under IBM Academic 
Information System’s 4.2 operating sys¬ 
tem and will be available for the IBM 
Advanced Interactive Executive (AIX) 
operating system. $1,000. 

Tartan Laboratories, Inc., 477 
Melwood Avenue, Pittsburgh, PA 15213; 
412/621-2210 
CIRCLE 327 ON READER SERVICE CARD 

A microcomputer diagnostic product 
has been announced by Windsor 
Technologies, Inc. Version 1.06 of 
PC-Technician performs extensive 
diagnostic testing on a system’s overall 
hardware as well as on the its individual 
components. The package includes test 
materials and a carrying case. $200. 
Windsor Technologies, Inc. 66 Bovet 
Road, Suite 380, San Mateo, CA 94402; 
415/345-5700 

CIRCLE 333 ON READER SERVICE CARD 

Erratum: The photo spread at the top 
of page 30 in the May 1986 Tech Re¬ 
leases was captioned incorrectly. The 
photograph shows a new line of internal 
tape and disk/tape subsystems by Tail- 
grass Technologies Corp. 


The material that appears in Tech Releases is 
based on vendor-supplied information. These 
products have not been reviewed by the PC 
Tech Journal editorial staff. 


40 


PC TECH JOURNAL 



























Turbo Pascal * Source Code Included 


Borland’s new Turbo Editor 
Toolbox, “Best of the Year” award 
winner, lets you build your own 
word processor for only $69.95! 


Turbo Editor Toolbox” lets 
you build the best of all word 
processors into your own 
word processor. All the 
modules, techniques, 
instructions, and Turbo 
Pascal source code are at 
your fingertips. You’ll 
quickly learn how to 
integrate editor procedures 
and functions into your 
programs, or you can use 
Turbo Editor Toolbox “as is,” 
because it has everything. 

You get Turbo Pascal source 
code and everything you 
need to build your own 
word processor 
The modules, the manual, ready- 
tocompile source code, and a M- 


How to do windows without 
jamming your fingers back in 
your wallet 
State-of-the-art “windowing” 
techniques are part of our new Turbo 
Editor’s repertoire. Sophisticated but 
easy-to-leam techniques let you 


MicroStar, 1 " which we probably ought 
to sell separately because it’s an 
excellent text editor. But anyway, you 
get it free as part of our new Turbo 
Editor Toolbox. (Maybe this is why 
Jerry Poumelle of BYTE magazine 
recently wrote that “Borland 
International Is a public benefactor. 
The company continues to pour out 
good, well-documented products at 


MicroStar includes a complete pull¬ 
down menu user interface which you 
can use “as is,” or you can modify 
it for inclusion in your Turbo 
Pascal programs. 

As well as MicroStar, you also get 
a complete editor ready to include 
in your programs. Windows, block 
commands, and memoiy-mapped 
screen routines come with it 


How to turn good stuff into 
great stuff—maybe even 
greenstuff! 

With your new Turbo Editor Toolbox, 
you can make WordStar® behave 
like MultiMate. 1 " You can support 
windows just like Microsoft’s® Word 
And do it as fast as WordPerfect® 
does it In other words, you can do 
what they should have done. You 
just go in there, tinker, fiddle, fool 
around, and come up with your own 
version—which will be the best word 
processor you’ve never seen before. 
(And if you want to sell it, go for it; 
we’re not the kind of company that’ll 
send bean-counters and ambulance- 
chasers after you for royalties.) 


Standard Turbo Editor 
Toolbox features include: 

Wordwrap 

UNDO last change 5K 

0^ Auto-indent 
0^ Find & Find/Replace 

with options S' 

0^ Set left and right 

margins 0^ 

Block mark, move 0^ 

and copy 


several documents-or several parts 
of the same document-all at once. 

Turbo Editor Toolbox lets you 
open the windows you want- 
wherever you want them—at a 
price that won’t make you want 
to jump out of them. 

7ou get a lightning-fast 
editor, innumerable features, 
and a 60-day money-back 
guarantee** for only $69.95 
For only $69.95, you can build your 
own word processor and make it 
do whatever you want it to do. This 
already popular new program is just 
one more way that Borland helps you 
help yourself. So call us or the dealer 
nearest you. All the telephone 
numbers and ordering information 
are in the adjacent coupon. 


Tab, insert and 
overstrike modes, 
centering, etc. 
Multiple windows 
Multitasking 
RAM-based editor 
Paging, scrolling and 
text display 


U The new Turbo 
Editor Toolbox is the 
Turbo Pascal source code 
to just about anything 
you ever wanted a PC- 
compatible text editor to 
do, along with a really 
excellent book of 
instructions on what 
text editors are and how 
to use the Toolbox to 
build a custom text 
editor... you can’t afford 
to be without this.” 

Jerry Poumelle, BYTE Magazine, 
discussing Turbo Editor Toolbox, 
to which he gave his “Best Of ■■ 
The 7ear” Award ” 


BORLAND 

INTERNA T I 0 N A L 


4585 SCOTTS VALLEY DRIVE 
SCOTTS VALLEY. CA 95066 
(408) 438-8400 TELEX: 172373 


YES! 


I want 
the best 


Rush me Turbo Editor Toolbox at: 


To order by phone, 
or for a dealer near you, 

call (800) 255-8008 

in CA call (800) 742-1133 

Send me _ Turbo Editor Toolboxes at $ _ 

Outside USA add $10 per copy 

CA and MA res. add sales tax $ _ 

Amount enclosed $ _ 

Prices include shipping to all U.S. cities 
Payment: VISA MC Bank Draft Check 

Credit card expiration date _/_ 

Card . .Ill 

I I I I I I I I I I 

fYou must have an IBM or true compatible running DOS 2.0 or 
later. 

My computer's name and model is: 


The disk size I use is: □ 3 ¥ 2 ' □ 5’A" 

NOT COPY PROTECTED 
"60-DAY MONEY-BACK GUARANTEE 


Name: _ 

Shipping Address: 


City: _ 

State: _ 

Telephone: 


CODs and purchase orders WILL NOT be accepted by Borland. 
Outside USA make payment by credit card or International Postal 
Money Order. 

**YES, if within 60 days ot purchase this product does not 
perform in accordance with our claims, please call 01 / customer 
service department and we will gladly arrange a refund. 

tMinimum System Requirements: 192K 
Runs on IBM PC. XT, AT, PC’ 
true compatibles 


\Jl0 

Borland products include Turbo Pascal; Turbo Prolog; Turbo Database Toolbox; Turbo Lightning; Turbo Graphix 
Toolbox; Turbo Tutor; Turbo GameWorks; Turbo Editor Toolbox; Word Wizard; Reflex, The Analyst; SideKick; SideKick, 
The Macintosh Office Manager; Traveling SideKick; and SuperKey—all of which are trademarks or registered 
trademarks of Borland International, Inc. or Borland/Analytica, Inc. 

MicroStar is a trademark of Borland International, Inc. WordStar is a registered trademark of MicroPro International 
Corp. MultIMate is a trademark of MultiMate International Corp. Microsoft is a registered trademark of Microsoft Corp. 
WordPerfect is a registered trademark of Satellite Software International. Copyright 1986 Borland International 
BI-1055 

CIRCLE NO. 255 ON READER SERVICE CARD 


TE6 















































AT performance at an XT price. 
Introducing the r JeleCAT-286. 
$2995. Complete. 


With TeleVideo, 
you always settle for more. 

Up till now, with a mid-range 
budget, you had to settle for 
mid-range performance. And 
a mid-range set of features. 

But not anymore. Because 
now, there's the new TeleCAT- 
286; from TeleVideo. An IBM 
AT-compatible machine that 
lets you settle for an entirely new 
concept in medium-priced 
PCs: more. 

More Performance. 

TheTeleCAT-286 retails for 
$2995, roughly the same as a 
comparably-equipped IBM XT. 
But the similarity ends there. 
Instead of starting you off with 
a stripped-down box, we've 
loaded up the TeleCAT-286 with 
everything you need. Like a 
20MB hard disk. A 1.2MB 
floppy. An Intel 80286 CPU that 
runs at either 6 or 8 MHz clock 

28% Smaller 
Footprint: 

What you do with the ^ 

extra desk space is up to HHHBhShI 
you , but as you can see « 

SS 5 !■■■ 

speed. There's even a high- 
resolution monitor for text 
and graphics. 

To make even better use of 
internal space, we socketed the 
TeleCAT-286 for one MB of RAM, 
and also included serial and 
parallel ports on the mother¬ 
board. As a result, we can still 


give you three extra expan¬ 
sion slots. 

More Productivity. 

Using our experience in build¬ 
ing terminals and systems for 
750,000 users worldwide, we've 
designed a machine that's the 
last word in ergonomics. With 

LEDs On Locking Keys: jjjt< #>jjj 

For maximum visibility we 

put our LEDs right on top H 

of the three critical lock- BH % H 

ing keys , so they won't get 

covered up by overlays. 

sculptured keycaps on a high- 
quality keyboard. LEDs on the 
three critical locking keys. And 
a footprint that's 28% smaller 
than the IBM AT's. So you get 
more of your desk back, too. 
Find Out Even More: 

1 (800) TELECAT. 
There's a whole lot more we could 
tell you about the TeleCAT- 
286. But it's an even better idea 
^gig to get your hands 

on it. So call us at 
1(800) TELECAT, 

, Dept. 202, and 
well tell you the 
11 g MIffl nearest place 

wmmmmmmmmm yOU Can tty One. 

The TeleCAT-286. Our 
20MB version is $2995; 30MB, 
$3495. For high performance 
at a low price, don't settle 
for less. 


TeleVideo 

Settle for more. 


TeleVideo Systems, Inc. 1170 Morse Avenue 
Sunnyvale, California 94088-3568 • (408) 745-7760 

©1986 TeleVideo Systems, Inc. IBM is a registered trademark of International Business Machines, Inc. 
Screen graphics by Chartmaster ©Decision Resources, Inc. 

CIRCLE NO. 182 ON READER SERVICE CARD 




























































[ IBS: 38* 

MS') 88b for 18:88 

Sales Mating 

| |lB : 3tfc* 

Ul:88« 

! Ilf: 38* 

iMwr.h W Joe 

M'-Xt 

pi'-rnr 

HI 38p €a i l f«*ck K«tre?i 


Side Kick™ Keep track of schedules with 
popular desktop management programs. 


<d£° 






dBASE IIVdBASE Ill f Use any release of this 
popular data base to sort files while working 
on other applications. 


Yes, I want to learn more about Premium Performance. 
Please send me your special SixPakPremium infor¬ 
mation package today! 

Name_ 

Title_’___ 

Company_ r _ 

Address_ 

City_State_Zip_ 

Phonei_)_ 


R€S€RRCH INC. 

CIRCLE NO. 110 ON READER SERVICE CARD 


SixPakPremium, the new generation mul¬ 
tifunction board designed for new genera¬ 
tion IBM XTs, is here! Now one person and 
one PC have the power to meet the demands 
of business. AST's newest solution for new 
XTs, existing PCs, XTs and compatibles, 
SixPakPremium offers all the popular multi¬ 
function features plus two megabytes of 
expanded memory and the powerful software 
to use it. 

Premium Performance. Now, run up to nine 
applications 
simultaneously. 

Sort a data base, 
write a letter, cal¬ 
culate a 
sheet, monitor 
stock quotations and print labels... all at the 
same time... on the same PC! And, our win¬ 
dows let you view applications instantly. 

SixPakPremium is fully compatible with all 
current PC applications, including expanded 
memory applications such as Lotus 1-2-3 
Release 2.0. And DESQview, our multitasking/ 
windowing environment is compatible with 
more than 200 of the most popular packages. 

Premium Features. SixPakPremium offers 
up to two megabytes of expanded memory, 
two serial ports, parallel port, game port, 
battery-backed clock/calendar, DESQview 
and SuperPak™ utilities. 

Premium Quality. As the leader in PC 
enhancement, with over a million products 
shipped, AST is known worldwide for its 
highly reliable products. 

Make The Premium Choice. For perfor¬ 
mance that exceeds demand, call our Cus¬ 
tomer Information Center (714) 863-1333. Or 
send the coupon to AST Research, Inc., 2121 
Alton Avenue, Irvine, CA 92714. 

























m . iiu m. SIlUl 


8 Ways 

SORT/MERGE With 
RECORD SELECTION & 
OUTPUT REFORMATTING 

with OPT-TECH SORT 

New 3.0 version is even faster and more 
powerful. Improve your system’s perfor¬ 
mance with OPT-TECH SORT. OPT- 
TECH includes: 

• CALLable and Standalone use 

• All major languages 

• Variable and fixed length 

• Up to 10 sort/select fields 

• Autoselect of RAM or disk 

• Options: dBASE, BTrieve files 

• 1 to 10 files input 

• No software max for 
# records 

• Full memory utilization 

• All common field types 

• Bypass headers, limit sort 

• Inplace sort option 

• Output = Record or keys 

Try what you’re using on an XT: 1,000 
128 byte records, 10 byte key in 33 
seconds. 

MSDOS $135 


Comprehensive Development 
Library 

C-Worthy by Custom Design 
Systems 

C-WORTHY LIBRARY eliminates the 
writing of routine code and frees you to 
work on what makes your programs 
unique. 425 pages of documentation with 
an in-depth tutorial. 

A complete, consistent, and interrelated 
set of subsystems and functions facilitates 
keyboard handling, background proce¬ 
dures, list manipulation, screen handling, 
menu management, windowing, error 
reporting, context-sensitive help, DOS 
interfacing, and MORE. Now you can 
support incompatible machines (like IBM, 
Victor 9000, TI Pro) with the same .EXE 
file and alternate languages (French, Ger¬ 
man, etc.) with the same source code. 

A unique design approach with a complete 
user interface for application program¬ 
ming. No royalties. For Lattice C and 
others. 

MSDOS $295 



C Programmers: 
to Increase Productivity 


C-INDEX B + TREE 
LIBRARY 

Fast, Easy, Flexible Data 
Management 

C-Index can enhance your product de¬ 
velopment by providing powerful, time 
tested data management, straight out of 
the box. 

The C-Index Library delivers high per¬ 
formance B + tree indexing with efficient 
variable length record storage. You get 
full transportable source code, pre-com- 
piled object libraries, and there are no 
royalty charges. Additional features in¬ 
clude random and sequential data access, 
automatic multi-key maintenance, and 
virtual memory buffering. 

C-Index has been used in many applica¬ 
tions and environments: 

Banking, Medical Research, AI, Ac¬ 
counting, CD ROM Access, CAD/CAM, 
and more . . . 

IBM PC/AT, Macintosh, ATT 3B2, 
Sun, VAX, Cray, and more . . . 

C-Index/Plus with source: 

$349 

C-Index/File object code only: 

$89 (MSDOS, MAC) 


First Aid for C Programs 

C Toolset 

Save time and frustration when analyzing 
and manipulating C programs. 

DIFF and CMP - for “intelligent” file 
comparisons. 

XREF - cross references variables by 
function and line. 

C Flow Chart - shows what functions 
call each other. 

C Beautifier - make source more 
readable. 

GREP - search for patterns. 

PP - formats your code so that it is 
easier to read and understand. 

C Util - acts as a general purpose file 
filter. 

Recently improved performance and en¬ 
hanced source portability. 

Portable. Full source code. 

CPM, MSDOS. Mention this 
ad. Only $95 until 7/31/86. 


SOURCE CODE, NO 
ROYALTIES, “FLAT-FILE 
ISAM” OR “NETWORK 
MODEL DBMS” - RAIMA’S 
db_VISTA DATABASE 

Use as a simple, flat-file ISAM — or 
follow the “network model,” optimized 
for speed and efficient disk storage. Re¬ 
duces overhead associated with relational 
models. Multiple key records, fast B-tree 
indexing, virtual memory disk accessing, 

portability. Tailor db_VISTA to your 

needs by using only those features you 
require. Save space. Optional dBASE, 
R:BASE, and ASCII file transfer utilities 

make moving to db_VISTA a snap. 

MSDOS, UNIX, XENIX, Macintosh. 
Single user source $459. Object 
$179 

Multiuser source $929. Object 
$450 


C DYNAMO! 

WINDOWING: Full C Source, 
No Royalties 

POWER WINDOWS AND C 
FUNCTION LIBRARY 

Power Windows covers all the bases: over¬ 
lays, borders, 1-2-3 style or pop-up menus/ 
help windows, zap instantly on/off screen, 
status lines, horizontal/vertical scrolling, 
color control or highlighting, word-wrap, 
files to windows, keyboard to windows. 
Powerful, easy to use, integrated error 
messages, thorough documentation. Sup¬ 
ports IBM monochrome or color. 

MSDOS. Only $119. 

C Function Library - includes 325 funda¬ 
mental functions with readable source 
and thorough documentation. 

MSDOS. Only $119. 

No matter what you have, you need these. 
Best value available. Highly recom¬ 
mended! 


Full Screen library Plus Fundamentals 

THE HAMMER LIBRARY 

1-2-3 menus (even multilevel), data validation including range checking, field editing, 
and Full Screen input make this a thorough screen library. Data entry routines let you 
move between fields before completing screen. But you also get DOS and BIOS access, 
file handling, string functions, and data handling. Plus pattern matching calls and library 
handling utilities. Full source, no royalties. Data entry routines for solid interface with 
user. Specify MS C, Lattice, CI-C86, Desmet, MW C. 

MSDOS. A lot for only $179 

Looking for the right tool for the job? Reach for THE HAMMER. 


Even for Small Files: Convenient, Fast Access 
CBTREE — Only $99 

Why spend time writing file management code when you can use consistent, flexible, 
documented, professional functions? Even multiuser record locking and variable-length 
records are supported. 

Add, delete, and update without needing to reindex. Store keys and record locations in 
B1 trees. 

You can access any record or group of records by the value of a user specific key. Search 
your files from any point, forward or backward. 

Full, balanced b-tree support includes use of multiple keys, unlimited number and length 
of keys. 

Use this powerful ISAM, even if you’ve previously done without. 

Learn how to write systems for managing large files by using CBTREE source as a guide. 
Modify it and transfer it to another operating environment without royalties. 

MSDOS 


Dear C Programmer: « 

You want the best development software for your needs. These products will help you: 

• Speed your development efforts • Increase productivity 

• Write even better programs • Reduce your programming frustration 

We carry over 100 C compilers, interpreters, support libraries, debuggers, and addons, specifically designed for C programmers using MSDOS 
or PCDOS. Call one of our knowledgeable consultants - toll free - for details, comparisons, or for one of our specially prepared packets on C. 
There is no obligation. You must be completely satisfied with the products you purchase or you will receive a full refund or replacement. You 
risk nothing with our 31 day risk-free trial on any product in this ad. 

Yours for more productive programming, 



Bruce W. Lynch, President 


Call for a catalog, literature, advice and service you can trust 


NEW HOURS 

8:30 AM-8:00 PM EST. 


800 - 421-8006 

THE PROGRAMMER’S SHOP™ 

128* P Rockland Street, Hanover, MA 02339 
Mass: 800442-8070 or 617-826-7531 1285 


“You’ve got everything I’ve heard of, and much I 
haven’t! . . . Normally, I expect my money to be 
“fan letter’’ enough, but you people are SUPER!” 

— Shel Hall 
Artell Corp. 


CIRCLE NO. 220 ON READER SERVICE CARD 










TECH 


ERIC M. MILLER 


RTDs and Themiocouples 

Two approaches to measuring temperature with a data acquisition 
board work for different range and accuracy requirements. 



T emperature is the foremost environmental factor affecting 
most processes, and it is the most measured. Two differ¬ 
ent approaches to temperature measurement with a data ac- 
quisiton board make use of platinum resistance temperature 
detectors (RTDs) and thermocouples. 

RTDs are highly accurate in the range -200 to +600 de¬ 
grees Celsius. Accuracies to 0.1 degree Celsius are obtainable, 
and repeatability can be within .01 degree. Most RTDs have a 
nominal 100-ohm resistance at 0 degrees Celsius and a tem¬ 
perature drift of .385 ohms per degree. In figure 1, an RTD is 
stimulated by a 2-milliampere current source. The voltage 
produced is amplified by a factor of 10 to put it into a con¬ 
venient range for most data acquisition cards. Users are 
usually inclined to increase the current source to provide 
higher voltage output with temperature, thus obviating the 
need for the instrumentation amplifier. Unfortunately, this 
will cause self heating in the platinum RTD and result in pos¬ 
sible inaccuracies in any measurements that are taken. 

The RTDs resistance is a mildly nonlinear function of 
temperature and adheres to a third-order polynomial. Final 
temperature determination is handled most easily by piece- 
wise linear approximation in software, based upon the values 
given in the device’s table by the RTD manufacturer. 

Thermocouples are used primarily for instrumenting 
wide ranges or the high ends in temperature measurement. 
Tungsten thermocouples (types C and G) can sense tempera¬ 
tures to 2,300 degrees Celsius. More common types (such as 
type K) adequately cover the span of 0 to 1,250 degrees Cel¬ 
sius, with accuracies to 1 degree Celsius. 

FIGURE 1: The RTD Method 



The thermocouple responds to a temperature differential 
between the sensing end and the reference end. The voltage 
produced (called the Seebeck voltage) assumes that the refer¬ 
ence junction is at 0 degrees Celsius. An electronic circuit 
provides an appropriate correction voltage based on the tem¬ 
perature of the reference end of the thermocouple to give 
cold-junction compensation. 

A drawback to thermocouples is that the Seebeck voltage 
is low and ranges from 6 to 60 microvolts per degree Celsius, 
thus the total output of the thermocouple is rarely above 70 
to 80 millivolts (mV). To interface a thermocouple to a data 
acquisition card, the user provides the cold-junction compen¬ 
sation and sufficient gain. Figure 2 shows one approach using 
an Analog Devices AD595. The AD595 incorporates cold-junc¬ 
tion compensation and gain and fault indication in a single 
IC. Cold-junction compensation is accomplished by sensing 
the temperature at the IC and applying a correction factor to 
its output voltage. The nominal output voltage of the AD595 
is 10 mV/degree Celsius. The Seebeck voltage is not constant 
over a thermocouple’s useful range. Final linearization of the 
output can take place in the user’s program in two ways: the 
software may take in the circuit’s voltage and convert it to 
temperature via a polynomial (typically eighth order) that ap¬ 
proximates the thermocouple’s output, or a piecewise linear 
approach can be used. The appropriate tables are available in 
reference books for thermocouples. I 1111 ^"! 

Eric M. Miller is president of Miller Technology, Inc., a firm that 
specializes in analog-to-digital hardware/software systems. 

FIGURE 2: A Thermocouple Approach 


f 15V 


TYPE K 

THERMOCOUPLE 
A=ALUMEL 
C = CHROMEL 


“1 

A I 14 


<7T 

i 

_i 


+ 5V 
A 


4.7 fxF 
TANTALUM 


1 


20K& 


v+ 

+ ALM 

IN- 

AD 5 95 

v 0 


FB 

IN+ COM V- 

-ALM 


F 


T 


TO DIGITAL 
► INPUT ON 
DAQ CARD 


TO ANALOG 
► INPUT ON 
DAQ CARD 


V 0 UT= 247 3 < TYPE K 
VOLTAGE 
+1l^V) 
(~10mV/°C) 


4.7 M F 

TANTALUM 


y 

15V 


JUNE 1986 


47 














































































Focus on the technical issues that concern you 
in PC TECH JOURNAL 


Let’s face it, every day brings new technical 
challenges with the IBM PC. And just when you 
think you’ve met them all, you find out that IBM 
has just introduced DOS 3.1—or that the new 
networking standard is likely to be the IBM token 
ring—or that one of your users just bought a 
3270 board and doesn’t know what to do with it. 

Where can you turn for accurate and in-depth 
answers to the technical questions that confront 
you daily? PC TECH JOURNAL. 

PC TECH JOURNAL focuses on the technical 
what-if’s and how-to’s that are crucial to the 
growth of PC systems. 

PC TECH JOURNAL will give you a clear 
picture of products and technical developments 


with, detailed, objective articles on data manage¬ 
ment, applications development, communica¬ 
tions, and programming, plus hard-nosed 
product evaluations of both hardware and 
software. 

Subscribe now and save 50% on the 
magazine that puts technical issues into 
focus. PC TECH JOURNAL. One year 
(12 issues) only $23.70. To subscribe, 
please use attached card. Or for fast 
service, call toll-free 1-800-852-5200. 


Consult with 
the Experts in 


nr 


OURNA] 


4Z361 





























It’s easier to do a job right when you 
have the right tools. That’s old wisdom, 
but what was true yesterday is still true today. Your 
time is valuable and we at Programmer’s Connec¬ 
tion are ready to help by offering you some of the 
latest and most advanced productivity tools avail¬ 
able. Here’s a closer look at some of them. 


Brief by Solution Systems 195 call 

Powerful, customizable, programmer-oriented text editor that features a full 
undo, automatic indentation for the C language and the ability to run programs in 
DOS from within the editor. It uses all the memory available to it and can edit files 
with unlimited size in its multiple windows. The compiled macro language has a 
rich set of commands. It supports regular expression searches, horizontal 
scrolling, mnemonic key assignments, keystroke macros and keyboard reconfig¬ 
uration. It comes with extensive documentation, a tutorial and an on-line help 
system. 

CodeSmith-86 by Visual Age 145 109 

Powerful multi-window program debugger with source code display windows 
that allow you to step and scroll your C, Fortran and Pascal source code. You 
can use its dual-mode patching assembler to instantly change instructions right 
on the display or its branch-to-patch mode to insert code between existing 
instructions. It supports stop on data compare/miscompare, breakpoints and 
passpoints, dual monitors and much more. It comes with a self-contained 
operating system that allows you to debug any code — even DOS itself. 

Epsilon by Lugaru Software 195 i65 

Extremely fast and powerful Emacs-like macro text editor that provides a 
complete programming environment. It features the ability to compile programs 
in one window while concurrently editing others in other windows. Now you 
don’t have to wait for your compiler to finish before you can begin making your 
corrections! Powerful macro commands give you virtually unlimited editing 
capabilities. Other features include customizable keyboard, keyboard macros, 
automatic swap file, regular expression search, unlimited number and sizes of 
files, language support for C and others, recovery of deleted text (undo n times) 
and more. A very fast, context sensitive, on-line help facility is also included. 
Requires 256K memory. 

Microsoft Macro Assembler (MASM) 150 99 

Very fast, standard PC macro assembler that fully supports the 8088,80186 and 
80286 instruction sets and their corresponding math coprocessors. It’s com¬ 
pletely upward compatible with the IBM Macro Assembler and comes complete 
with a fast MS-DOS overlay linker, a library manager, a MAKE utility, a cross 
reference utility and excellent documentation. Additional utilities include 
EXEPACK, an EXE file compression utility and EXEMOD, an EXE file header 
utility. Also featured is SYMDEB, an interactive symbolic program debugger that 
supports source-level debugging of Microsoft C, Fortran and Pascal programs. 
It supports source line single-stepping and breakpointing, full I/O redirection, 
stack tracing and shell escapes for executing DOS commands. 



Pfantasy Pac by Phoenix Software 1295 895 

Combination of programmer’s productivity tools that includes six valuable 
Phoenix products: Plink86 Plus, Pfix86 Plus, Pfinish, Pmaker, Pmate and Ptel. 
Plink86 Plus is an extensive overlay linker. Pfix86 Plus is a symbolic debugger 
that supports Plink86 overlays. Pfinish is an execution profiler that finds the 
inefficient parts to your programs. Pmaker is a make facility that automates the 
process of creating new programs after changes have been made. Pmate is a 
powerful macro text editor. Ptel is a telecommunications program for binary file 
transfers. Please turn the page and refer to the Phoenix Products section for’ 
more information. 

PolyMake by Polytron Software 99 79 

Intelligent program builder and maintenance tool for MS-DOS that automates 
the process necessary to create new versions of a program. You can use its 
built-in rules to rebuild your programs or specify your own. Then, whenever you 
make changes to your source code and are ready to recompile, you just invoke 
PolyMake. It determines which source files need compilation and automatically 
creates the new program using the minimum number of operations necessary to 
bring the program up to date. It works with source files in any language and can 
be used to maintain non-program files as well. It uses the UNIX make syntax and 
can run UNIX makefiles. 256K memory recommended. 

Source Print 

by Aldebaran Laboratories New 139 119 

Source formatting and printing utility for C, Pascal, BASIC, dBase and Modula-2 
that indexes and cross references your progams for you. It provides page 
headings, line numbers, a table of contents, automatic indentation and extensive 
printer control. You can have it draw lines connecting the beginning and end of 
nested control structures to make even the most complex program structures 
stand out clearly. Key words may be emphasized with printer styles like boldface 
and underline. You can extract and print by line number range or by selected 
subtitled procedures and functions from one or more source files. Requires 
192K memory. 

SRMS Software Revision Mgmt System 

by Quilt Computing New version 125 109 

Set of integrated utilities that maintains a history of the revisions made to a 
program. You have complete access to all versions of the program, although any 
source code that is common to different versions are not duplicated. It supports 
any type of source files including C, Fortran, BASIC, Pascal, COBOL and 
assembly code. There are extensive provisions for including comments and 
notes describing each version. Any version of the program may be quickly and 
easily restored with a single command. It can be used interactively or in batch 
environments. Requires 128K memory. 

XTC by Wendin 99 84 

Programmer’s editor that features a complete, structured, multitasking macro 
language that may be interpreted or compiled. It supports up to eight windows 
and twenty text buffers for holding files and blocks of text. It has the ability to edit 
unlimited-sized files and allows you to compile from within one window and 
have output redirected into another. Additional features include undo N times, 
removal of Wordstar high bits, tab expansion and compression, auto¬ 
indentation and the ability to edit extra long lines. The command structure and 
cursor movement controls are customizable. Includes complete editor source 
code in Microsoft Pascal. Requires 256K memory. 

CALL TOLL FREE 


DFDIQrnDP Periscope I 295 249 

. VL M _ . . Periscope II 145 115 

by Data Base Decisions Periscope n-x 99 85 

Full featured resident symbolic debugger that features in-line symbolic 
assembly, debugging with high-level source code and the ability to view text 
files while debugging. It supports most languages, dual screens, graphics, 
comprehensive breakpoints, crash recovery and much more. There are three 
configurations of Pericope available. Periscope I comes with an NMI breakout 
switch and a crash-proof write-protected memory board (for IBM PC’s or close- 
compatibles only). Periscope II comes with an NMI breakout switch but does not 
include the write-protected memory board. Periscope ll-X is a software only 
version that comes without either the NMI breakout switch or memory board. 
The software for each configuration is the same. Requires 128K memory. 



1800 * 336 * 1166 

_jll.S. OHIO 216-877-3781 

1 * 1800 * 225 * 1166 

LZ-Icanada 

programmer's 
connection 

Be sure to turn the page for the largest advertised selection of programmer’s development tools for IBM Personal Computers and compatibles. 



CIRCLE NO. 175 ON READER SERVICE CARD 





PROGRAMMER DEVELOPMENT TOOLS FOR THE IBM-PC/XT/AT 



Shipping Charge * 

Handling Charge 
Insurance Charge 
Credit Card Charge 
C.O.D. Charge 
Purchase Order Charge 
Hidden Charges 

PLUS OUR NO RISK GUARANTEE 

♦ When shipping via standard United Parcel Service. 


and compatibles. 

g compilers 


C-86 Compiler . See Computer Innovations Section 

Datalight C Compiler Small Memory Model . 

Datalight Developer's Kit with Large Memory Model . New 

DeSmet C Compiler with Source Debugger ._.. 

Eco-C Complete Development System by Ecosoft. 

Lattice C Compiler . See Lattice Section 

Let’s C Compiler by Mark Williams. 

with csd Source Level Debugger. 

Microsoft C Compiler with Source Debugger . New version 

MWC-86 by Mark Williams . Special Price 

Wizard C Compiler Includes Lint by Wizard Systems. 

c interpreters 


395 

60 

99 

159 

125 

500 

75 

150 


289 

49 

79 

145 

89 

299 

69 

129 


495 CALL 
495 289 

450 369 


apl language list ours 

APL*PLUS/PC System by STSC. New version 595 449 

APL*PLUS/PC Tools Vol 1 by STSC. 295 239 

APL*PLUS/PC Tools Vol 2 by STSC. 85 69 

APL*PLUS/UNX System For AT Xenix by STSC. 995 795 

Btrieve ISAM File Manager by SoftCraft. New version 250 195 

Financial/Statistical Library by STSC. 275 219 

FRESCO Business Graphics Library by Mr. APL. 300 269 

Pocket APL by STSC. 95 79 

STATGRAPHICS by STSC. 695 539 

artificial intelligence 

ExpertEASE by Human Edge. New 695 589 

ExpertEDGE by Human Edge. New 795 659 

Experteach Complete System by Intelliware. 475 389 

EXSYS Expert System Development Software by EXSYS. 395 339 

GCLISP Golden Common LISP by Gold Hill. All models CALL CALL 

Insight I Al Primer by Level Five Research. 95 75 

Insight II by Level Five Research. 485 389 

Microsoft LISP Common Lisp . 250 189 

Methods Smalltalk-based Prototyping by Digitalk. 250 209 

MicroProlog by Programming Logic Associates. New 250 219 

with APES. 425 369 

Professional MicroProlog by Programming Logic. New 395 349 

with APES. 650 569 

Prolog-86 from Solution Systems. 125 CALL 

Prolog-86 Plus from Solution Systems. 250 CALL 

QNIAL Combines APL with LISP by NIAL Systems. New 375 359 

Small-X by Kaplan. 125 99 

TransLISP from Solution Systems. New 75 CALL 

Turbo Prolog Compiler by Borland International. New 100 CALL 

assemblers and debuggers 

8088 Assembler w/Z-80 Translator by 2500 AD. 100 89 

Advanced Trace-86 with ASM Interpreter by Morgan. 175 139 

Codesmith-86 Debugger by Visual Age. 145 109 

Cross Assemblers from 2500AD . Over 25 varieties CALL CALL 

Microsoft Macro Assembler with utilities . 150 99 

Periscope I by Data Base Decisions. 295 249 

Periscope II by Data Base Decisions. 145 115 

Periscope ll-X by Data Base Decisions. New 99 85 

The PROFILER with Source Code by DWB Associates. 125 95 

Turbo EDITASM Fast Assembler by Speedware. 99 84 

Visible Computer: 8088 by Software Masters. 80 65 

basic language 

BetterBASIC by Summit Software ... Now BASICA Compatible 200 165 

8087 Math Support. 99 85 

Btrieve Interface. 99 85 

C Interface . New CALL CALL 

Run-time Module. 250 225 

Microsoft QuickBASIC Compiler. BASICA Compatible 99 79 

Professional BASIC by Morgan Computing. 99 79 

8087 Math Support. 50 47 

True Basic from Addison-Wesley. 150 105 

Run-time Module. 500 435 

blaise products 

Asynch Manager Specify for C or Pascal . 175 139 

C Tools Combination Package. Both Items Below 175 149 

C Tools. 125 105 

C Tools 2 . 100 84 

Exec Program Chainer . 95 79 

Pascal Tools Combination Package. Both Items Below 175 149 

Pascal Tools. 125 105 

Pascal Tools 2 . 100 84 

Turbo ASYNCH for Turbo Pascal . 100 84 

Turbo POWER TOOLS for Turbo Pascal . 100 84 

View Manager Specify for C or Pascal . 275 209 

with Source Code. Special Price 295 239 

borland products 

REFLEX Data Base System . New 99 75 

Turbo DATABASE TOOLBOX. 55 38 

Turbo EDITOR TOOLBOX. 70 54 

Turbo GAMEWORKS TOOLBOX. 70 54 

Turbo GRAPHIX TOOLBOX. 55 38 

Turbo LIGHTNING. 99 75 

Turbo PASCAL. 70 49 

with 8087 or BCD. 110 77 

with 8087 and BCD. 125 84 

Turbo Prolog Compiler . New 100 CALL 

Turbo TUTOR for Turbo PASCAL . 35 28 


C-terp by Gimpel Software . Specify compiler interface 

Instant C by Rational Systems. 

Interactive C by IMPACC Associates. 

Run/C by Age of Reason. 

Run/C Professional by Age of Reason . 

c utilities 

Also refer to Blaise, Computer Innovations, Lattice, Microsoft, Phoenix, 
Polytron, SoftCraft and Xenix System V sections. 


APT Application Programmer's Toolkit 

by Shaw American. 395 339 

Basic C Library by C Source. 175 135 

C Essentials by Essential Software . 100 85 

C-lib by vance info systems. 195 125 

C Power Packs by Software Horizons. CALL CALL 

c-tree ISAM File Manager with source by FairCom. 395 329 

C Utility Library by Essential Software. 185 139 

C Windows by Syscom . 100 89 

C Wings by Syscom. 50 45 

dbVISTA Single-User DBMS by Raima. 195 159 

with Source Code. 495 429 

dbVISTA Multi-User DBMS by Raima. 495 429 

with Source Code. 990 849 

EditCheck by Everest Solutions. 90 79 

Entelekon Combo Package. Combination of 3 items below 200 175 

C Function Library. 130 115 

C Windows. 130 115 

Superfonts for C. 50 45 

Essential Graphics by Essential Software. No royalties 250 219 

Flash-up Windows by Software Bottling of NY . 75 69 

Graphic Mono version 2.2 by Scientific Endeavors. 280 219 

Graphic Color version 3.0 by Scientific Endeavors. 350 299 

The Greenleaf Functions by Greenleaf Software. 185 135 

Greenleaf Comm Library by Greenleaf Software. 185 135 

The HAMMER by OES Systems. 195 175 

MetaWINDOWS by Metagraphics. 185 139 

MetaWINDOWS/Plus by Metagraphics. New 235 199 

Multi-Halo by Media Cybernetics. Royalties 300 219 

On-line Help from Opt-Tech Data Processing. 149 119 

PANEL by Roundhill. Library Source Available 295 229 

PC Lint by Gimpel Software. 139 109 

Scientific Subroutine Library for C by Peerless. 175 139 

Vitamin C by Creative Programming . 150 139 

VC Screen Interactive Forms Designer . New 99 85 

Zview by Data Management Consultants. 245 199 

cobol language 

Micro Focus COBOL Workbench. 4000 3599 

Micro Focus Level II COBOL. CALL CALL 

COMATH . 200 169 

FORMS-2 . 300 269 

Level II Animator. 1200 995 

Level II SOURCEWRITER. 2000 1689 

Micro Focus Micro/SPF. 175 159 

Micro Focus Professional COBOL. 3000 2395 

Microsoft COBOL. See Microsoft Section 700 495 

Realia COBOL. New 995 795 

RM/COBOL by Ryan-McFarland. 950 675 

RM/COBOL 8 X ANSI 85 COBOL by Ryan-McFarland ... New 1250 995 

computer innovations products 

C -86 Optimizing Compiler. 395 289 

C to dBase. 150 139 

Cl Probe Source Level Debugger . 225 199 

Cl RomPac for C-86 . 195 149 

Introducing C C Interpreter . 125 105 

fortran language 

ACS Time Series by Alpha Computer Service. 495 429 

Btrieve ISAM File Manager . See SoftCraft Section 

For-Winds by Alpha Computer Service. 90 79 

Forlib-Plus by Alpha Computer Service. 70 55 

Microsoft Fortran. 350 215 

MORE FORTRAN by Peerless Engineering. 125 99 

Multi-Halo by Media Cybernetics. Royalties 300 219 

PANEL Screen Designer by Roundhill. 295 229 

PC Fortran Tools by Stat Com Systems. 179 159 

PolyFortran Tools by Polytron. 179 139 

RM/Fortran by Ryan-McFarland. 595 395 

Scientific Subroutine Library by Peerless ... .. 175 139 

The Statistician by Alpha Computer Service. 295 259 

Strings & Things by Alpha Computer Service. 70 55 


300 239 

500 379 

249 219 

150 99 

250 189 



























































































































































lattice products list ours 

Lattice C Compiler. 500 299 

with Library Source Code. 900 549 

C Cross Reference Generator. 50 39 

with Source Code. New 200 159 

C-Food Smorgasbord Function Library . 150 99 

with Source Code. 300 195 

C-Sprit e Source Level Debugger . 175 139 

Curses Screen Manager . 125 99 

with Source Code. 250 199 

dBC dBase File Manager for C . 250 199 

with Source Code. 500 395 

LMK Make Facility . 195 149 

LSE Screen Editor . New 125 99 

RPG II Compiler .. 750 595 

SecretDisk File Security . 60 49 

SideTalk Resident Communications . 120 95 

Text Mgmt Utilities (GREP/DIFF/ED/WC/Extract/Build) . 120 95 

TopView Tool basket Function Library . 250 199 

with Source Code. 500 395 

Z-80 C Cross Compiler . New 500 395 

with Library Source Code. 1000 789 

microsoft products 

Microsoft BASIC Interpreter for Xenix. 350 279 

Microsoft C Compiler with source debugger . New version 495 CALL 

Microsoft COBOL Compiler. 700 495 

Microsoft COBOL Compiler for Xenix. 995 795 

Microsoft COBOL Tools with COBOL Source Debugger . 350 209 

Microsoft COBOL Tools for Xenix. 450 359 

Microsoft Fortran Compiler. 350 209 

Microsoft Fortran Compiler for Xenix. 495 389 

Microsoft LISP Common LISP . 250 189 

Microsoft Macro Assembler with utilities . 150 99 

Microsoft Mouse Bus Version . New 175 149 

Microsoft Mouse Serial Version . New 195 159 

Microsoft muMath. Includes muSIMP 300 195 

Microsoft Pascal Compiler. 300 195 

Microsoft Pascal Compiler for Xenix. 495 389 

Microsoft QuickBASIC Compiler. 99 79 

Microsoft Sort. 195 149 

Microsoft Windows . 99 74 

Microsoft Windows Developer's Kit. New 500 CALL 

modula-2 language 

MODULA-2/86 Compiler by Logitech. 89 65 

with 8087 . 129 105 

with 512K. 189 149 

MODULA-2 Editor by Logitech . 59 49 

MODULA-2 Runtime Debugger by Logitech. 69 59 

MODULA-2 Source Package by Logitech. 179 155 

MODULA-2 Utilities Package by Logitech. 49 45 

other products 

Dan Bricklin's Demo Program by Software Garden .... New 75 65 

FASTBACK Backup Utility by 5th Generation Systems . . . New 179 159 

Interactive EASYFLOW by Haventree Software. New 150 129 

Janus/ADA C Pack by R&R Software. 95 89 

Janus/ADA D Pack by R&R Software. 900 699 

PC/Forth by Laboratory Microsystems. 150 119 

PC/Forth+ by Laboratory Microsystems. 250 209 

SET: SCIL by System Engineering Tools. New 349 299 

Source Print by Aldebaran Laboratories. New 139 119 

SRMS Software Revision Mgmt System by Quilt. New 125 109 

phoenix products 

Authorized Dealer 
Springtime Sale! 

Pasm86 Macro Assembler . 295 179 

Pfantasy Pac. Pfinish,Pfix+,Plink+,Pmaker,Pmate,Ptel 1295 895 

Pfinish Performance Analyzer . 395 229 

Pfix-86 Plus Symbolic Debugger . 395 229 

PforCe C Function Library . New 475 CALL 

Plink-86 Overlay Linker .. 395 229 

Plink-86 Plus Enhanced Overlay Linker . 495 359 

Pmaker Program Development Manager . 195 139 

Pmate Macro Text Editor . 225 139 

Pre-C Lint Utility . 395 229 

Ptel Binary File Transfer Program . 195 139 

polytron products 

Polytron C Beautifier. 49 45 

Polytron C Library I. 99 79 

Polytron PowerCom Communications . 179 139 

Poly FORTRAN Tools I. 179 139 

PolyLibrarian Library Manager . 99 79 

PolyLibrarian II Library Manager . 149 119 

PolyMake UNIX-like Make Facility . 99 79 

PolyOverlay Overlay Optimizer . 99 79 

Poly Windows Developer Kit . New 199 149 

PolyWindows Products. All varieties CALL CALL 

PolyXREF Cross Reference Utility . Complete system 219 179 

PolyXREF Support for one language only . 129 109 

PVCS Polytron Version Control System . 395 359 

PVMFM Polytron Virtual Memory File Manager . 199 149 


softcraft products 

Btrieve ISAM File Mgr with no Royalties . New version 

Xtrieve Query Utility for Btrieve . 

Rtrieve Report Generator for Xtrieve .. 

Btrieve/N for Networks . 

Xtrieve/N Query Utility for Btrieve/N . 

Rtrieve/N Report Generator for Xtrieve/N . 

OPT-Tech Sort Sorts Btrieve Files . New version 

text editors 

Brief from Solution Systems. 

Epsilon Emacs-like editor by Lugaru. New version 

FirsTime for Turbo by Spruce Technology . 

KEDIT Xedit-like editor by Mansfield Software Group. 

SPF/PC by Command Technology Corp. 

Vedit by CompuView. 

Vedit Plus by CompuView. 

XTC Text Editor with source by Wendin. 

turbo pascal utilities 

Also refer to Blaise, Borland and SoftCraft sections. 

ALICE by Software Channels. New Pascal Interpreter 

FirsTime for Turbo by Spruce Technology . 

Flash-up Windows by Software Bottling of NY . 

Multi-Halo Graphics by Media Cybernetics. Royalties 

On-line Help from Opt-Tech Data Processing. 

Screen Sculptor by Software Bottling of NY. 

Turbo EXTENDER by TurboPower Software. 

Turbo Professional by Sunny Hill Software. 

TurboPower Utilities by TurboPower Software. 

TurboRef by Gracon Services. 

TurboWINDOW by MetaGraphics. 

XTC Text Editor by Wendin. 

video training tapes 



(6-86) 

250 

195 

195 

169 

85 

79 

595 

465 

395 

299 

175 

159 

149 

119 

195 

CALL 

195 

165 

75 

69 

125 

109 

195 

165 

150 

115 

225 

180 

99 

84 


95 

85 

75 

69 

75 

69 

CALL 

CALL 

149 

119 

125 

95 

85 

69 

70 

49 

95 

84 

50 

45 

80 

69 

99 

84 


These video cassette training tapes are from the Information Factory and are an excellent 
alternative to expensive classroom training. Specify Beta or VHS. Price includes one 
student manual. Call for more information. 


Computer Literacy. New 

Local Area Networks. New 

Programmer’s Introduction to C . New 

wendin products 

Operating System Toolbox . Build your own OS 

PCUNIX Operating System . 

PCVMS Operating System . Similar to VAX/VMS 

XTC Text Editor . Includes Pascal source code 


400 CALL 
350 CALL 
500 CALL 


99 84 

99 84 

99 84 

99 84 


xenix system v 

Complete Xenix System by SCO. Combined Package 1295 

Xenix Development System . * 595 

Xenix Operating System. Specify XT or AT 595 

Xenix Text Processing Package. 195 


1099 

529 

529 

179 


xenix languages and utilities 


APL*PLUS/UNX System For AT Xenix by STSC. 

Btrieve ISAM File Manager by SoftCraft. 

c-tree ISAM File Manager with Source by FairCom . 

Informix by RDS. 

Lyrix by SCO. New 

Microsoft Languages. See Microsoft Section 

Networks for Xenix by SCO. New 

PANEL Screen Designer for AT Xenix by Roundhill. 

SCO Professional Complete Lotus clone by SCO. 


995 795 

595 465 

395 329 

995 839 

595 489 

CALL CALL 
595 539 

795 695 


Prices are subject to change without notice. 


We are open until 5 p.m. Pacific Time, (8 p.m. Eastern). 
Visa and MasterCard are accepted with no surcharge applied. 
Please include card expiration date when ordering by mail. 
Account is charged when shipped. 


VISA 


EEJ 


CALL TOLL FREE 




OUR NO RISK GUARANTEE 

If you are not completely satisfied with your purchase you may return it within 30 days. 
All returned products must meet our standards for being in new, resellable condition 
including all paperwork and unused registration card. Products including source code 
are generally excluded by the manufacturer from this guarantee. Please ask for specific 
details when placing your order. 




connection 


136 SUNNYSIDE ST. 
HIRMLE, OHIO 44632 


CIRCLE NO. 175 ON READER SERVICE CARD 















































































































































COMPUTER GRAPHIC • DOV JACOBSON 


D uring the first two decades of its 
existence, BASIC has experi¬ 
enced many transformations. It 
started out as an innovative mainframe 
language. Developed in 1964 at Dart¬ 
mouth College, it was the first inter¬ 
active language meant for use on ter¬ 
minals that were logged on to a time¬ 
sharing system. For its day, it had some 
advanced features: free-field input, auto¬ 
matic output formatting, variable-length 
strings, and single-step matrix opera¬ 
tions (the last is not available in most 
microcomputer versions). 

BASIC later played a crucial part in 
the microcomputer revolution and re¬ 
mains the most widely used micro¬ 
computer language available today. 
However, entirely new concepts of pro¬ 
gramming have grown up since BASIC’s 
inception, and the language, or at least 
its early versions, have fallen behind the 
state of the art. 

All IBM PCs and most compatibles 
come bundled with a BASIC inter¬ 
preter—typically, the Microsoft product 
popularly known as BASICA. Its wide 
distribution makes BASICA the de facto 
standard in the microcomputer—es¬ 


pecially the 8086—world. This fact is 
appreciated by programmers who dis¬ 
tribute commercial software. 

When first introduced, BASICA was 
a marvel of interactive programming, 
with graphics, string handling, event 
trapping, and file I/O that were both 
powerful and convenient. Its ability to 
control hardware is second only to 
assembly language. The implementation 
of graphics and sound reaches the full 
potential of the hardware. 

However, drawing on more mod¬ 
ern concepts of language design, imple¬ 
mentors of other languages have fash¬ 
ioned products with most of BASICA’s 
functions and a lot more besides— 
namely fast-executing code, structured 
programming constructs, and access to 
the full 640KB of PC memory. In the 
face of powerful microcomputer imple¬ 
mentations such as Pascal and C, the 
continued popularity of BASICA could 
be considered an anachronism. 

Several software companies have 
examined the situation and decided that 
it is the BASICA implementation that 
has been outstripped, not the BASIC 
language itself. They cite resilient 


strengths of BASIC that refuse to fade in 
the race toward sophisticated languages. 
BASIC is still the highest level language 
that provides the lowest level of control 
over hardware. It remains the lingua 
franca of the microcomputer world; 
more listings are published in BASIC 
than in any other language. 

Enter the enhanced BASIC inter¬ 
preters, languages that combine the tra¬ 
ditional strengths of BASIC and the ad¬ 
vanced features that programmers have 
come to expect. As they outgrow the ca¬ 
pabilities of BASICA, many program¬ 
mers look for more capable languages. 
While some migrate to Pascal or C, 
others are unwilling to make the invest¬ 
ment in learning a new language. Still 
others may have a sizable amount of 
BASIC source code they would like to 
maintain. For these users, an expanded 
BASIC is the ideal upgrade. 

The characteristics desired in a 
new BASIC depend on the particular 
need that BASICA could not fill for 
them. The most common are full mem¬ 
ory utilization, execution speed, struc¬ 
tured programming constructs, and 
modular program development. The 


Six New 

Shapes of BASIC 

Several new BASIC interpreters combine the 
traditional strengths of BASICA with the advanced 
language features that todays programmers expect. 


TED MIRECKI 


52 


















BASIC 


TABLE 1 : Features Comparison 




BETTER- 

BUSINESS 

MEGA¬ 

PRO. 

TRUE 

WATCOM 


BASICA 

BASIC 

BASIC 

BASIC 

BASIC 

BASIC 

BASIC 

Version tested 

3.0 

2.0 

7 3 

5.23 

2.04 

1.0 

2.5 

Price 

Free 

$199 

$295 

$375 

$99 

$149 

$250 

ENVIRONMENT 

Recommended memory (KB) 

128 

256 

256 

256 

384 

192 

256 

Workspace used (KB) 

64 

Large 

64 

Large 

Large 

Large 

52 

Multiple workspaces 

No 

Yes 

Yes a 

Yes 

No 

Yes 

Yes a 

Runtime package 

N/A 

$250 

N/A 

Included 5 

_C 

$500 

N/A 

DOS path support 

Yes 

Yes 

Yes 

Yes 

Yes 

Yes 

Yes 

Reads BASICA ASCII 

Yes 

Yes 

No 

No 

Yes 

No 

No 

Reads BASICA tokenized 

Yes 

Yes 

No 

No 

No 

No 

No 

Prerun syntax check 

No 

Yes 

Yes 

Partial 

Yes 

Yes 

No 

EDITOR 

Full screen 

Yes 

Yes 

Yes d 

No 

No 

Yes 

Yes 

Find/Replace 

Block move 

No 

No 

No 

Both 

Find 

Both 

Both 

No 

No 

No 

Yes 

No 

Yes 

Yes 

MAJOR LANGUAGE FEATURES 

Line numbers 

Required 

Required 

Required 

Required e 

Optional 

Optional 

Optional 

GOTO with labels 

No 

Yes 

No 

Yes 

Yes 

No 

No 

Length of variable names 

40 

40 

32 

250 

308 

31 

31 

Multiline IF 

No 

Yes 

No 

No 

No 

Yes 

Yes 

Number of loop types 

2 

5 

1 

2 

2 

10 

5 

Multiline functions 

No 

Yes 

No 

Yes 

No 

Yes 

Yes 

GOSUB with labels 

No 

Yes 

Yes 

Yes 

Yes 

Yes 

Yes 

Parameters with GOSUB 

No 

Yes 

Yes 

Yes 

No 

Yes 

Yes 

Recursive calls 

No 

Yes 

Yes 

Yes 

No 

Yes 

Yes 

Separate compilation 

No 

Yes 

Yes 

Yes 

No 

Yes 

No 

PEEK/POKE capability 

Yes 

Yes 

No 

Yes f 

Yes 

Yes 

Yes 

Matrix operations 

No 

No 

No 

No 

No 

Yes 

Yes 

Dynamic strings 

Yes 

Yes 

Yes 

No 

Yes 

Yes 

Yes 

Integer length (bits) 

16 

16 

N/A 

32 

32 

N/A 

16 

Real format 

MS 

MS 

BCD 

BCD 

IEEE 

IEEEs 

IEEE 

Max precision (digits) 

16 

16 

14 

14 

16 

16 

16 

HARDWARE SUPPORT 

8087 

No 

Optional 

No 

No 

Optional 5 

Yes 

Yes 

Graphics 

Yes 

Yes 

No 

No* 

Yes 

Yes 

Yes 

Sound 

Yes 

Yes 

No 

No 

Yes 

Yes 

Yes 

Communications 

Yes 

Yes 

No 

Yes* 

Yesi 

Optional 

Yesi 

Light pen 

Yes 

No 

No 

No 

No 

No 

No 

a Multiple programs are allowed in a single workspace. swith the 8087 only. An eight-byte format similar to IEEE is used otherwise. 

b A stripped-down interpreter without an editor or immediate mode is included. h With the 8087 option, real numbers may be either IEEE binary or 
c The manual suggests BASICA or a BASICA compiler as the runtime package. binary-coded decimal. 

d Full-screen editor provided as a utility written in BB X . •For an extra $50, MEGABASIC will supply a graphics interface to Digital 

e If a program is loaded without line numbers, the interpreter will add them. Research's GEM. The programmer must have a copy of GEM before 

When saved from MEGABASIC, all programs have line numbers. using MEGABASIC graphics. 

CThe FILL and EXAMINE commands replace PEEK and POKE. Both MEGABASIC JA serial port can be read from or written to, but no equivalent of BASICA’s 
commands operate on a range of bytes, not just one byte at a time. ON COMM is provided. 


The new BASIC interpreters are so dissimilar that they might be considered different languages. None is copy protected. 


following six products address these 
features to varying degrees: BetterBASic 
from Summit Software Technology; 
Business basic Extended (BB X ) from 
Basis Inc.; megabasic from American 
Planning Corporation; Professional basic 
from Morgan Computing; True basic by 
True basic Inc.; and watcom basic from 
Waterloo Computing Systems. 

All of these products are primarily 
interpreters in that they have integral 


editors, and their output code, even if 
semicompiled, still needs to be inter¬ 
preted by the BASIC system. Other 
characteristics of each of the products 
are listed in table 1. 

BASIC SHORTCOMINGS 

BASIC is not a standardized language 
(see the sidebar “The ANSI Standard for 
BASIC”), and different implementations 
enhance the original BASIC in different 


ways—in some cases changing the lan¬ 
guage almost beyond recognition. Be¬ 
cause the six products reviewed here 
are so different, directly comparing 
them feature-for-feature is not practical. 
They will first be measured against 
BASICA and then described separately. 
Memory utilization. BASICA can use no 
more than 64KB of memory—a limit 
that applies to the total space for pro¬ 
gram and data, as opposed to the small 


54 


PC TECH JOURNAL 











memory model of the C language, 
which imposes separate 64KB limits on 
program and data. Of the products re¬ 
viewed here, two provide an even 
smaller workspace than BASICA: 
watcom basic, although nominally pro¬ 
viding 64KB, takes up extra space for 
overhead, leaving only 52KB for the 
programmer’s use; BB X provides two 
versions of the interpreter, one with a 
32KB workspace and one with 64KB. 
The effective capacity, however, is much 
less than BASICA’s because BB x ’s num¬ 
bers are all ten bytes long, versus two, 
four, or eight bytes in BASICA. 

The remaining four BASICS, whose 
workspace in shown as large in table 1, 
can use all of the PC’s memory. 
Structured programming. A fully struc¬ 
tured language must provide compound 
(multiline) statements for decision (IF- 
THEN-ELSE) as well as looping, mod¬ 
ular programming, and the localization 
of data within modules. BASICA pro¬ 
vides only two multiline looping state¬ 
ments (FOR and WHILE). The need to 
string out an IF-THEN-ELSE statement 
on one line is, in this day and age, an 
unnecessary hardship. Even FORTRAN, 
well-known for its spaghetti code, now 
supports structured statements. 

Professional basic and megabasic 
provide no more structured constructs 
than does BASICA. In the case of Pro¬ 
fessional basic, this is understandable 
because it strives for total compatibility 
with BASICA. BB X provides even fewer 
structured statements than BASICA, be¬ 
cause it lacks the WHILE loop. 

The other reviewed products add 
to BASICA’s repertoire the multiline IF 
statement and several types of loops, 
such as DO UNTIL and DO WHILE....- 
UNTIL. Usually, the more types of loop¬ 
ing constructs that a language supports, 
the easier it is to write readable code. 
Modular programming. One of the key 
concepts of structured programming is 
the division of a program into sub¬ 
program modules. This more lucidly in¬ 
dicates the flow of control through a 
large program, and it hides messy pro¬ 
gramming details from the levels that 
need not be concerned with them. Sub¬ 
programs are of two types: procedures 
(also known as subroutines), which 
have a large-scale effect, such as chang¬ 
ing the value of many variables or con¬ 
trolling peripherals; and functions, 
which typically return a single value of 
a given numeric or string type. If a 
function also changes variables or per¬ 
forms any other actions, it is said to 
produce side effects. 

BASICA provides a low level of 
subprogram capability—the same as in 


the original 1964 implementation of the 
language. Subroutines are invoked with 
the GOSUB statement, the target of 
which is a line number. The line num¬ 
ber gives no clue to the subroutine’s 
purpose. Furthermore, all variables are 
global—that is, shared between the sub¬ 
routine and its caller. Writing general- 
purpose toolbox routines is difficult be¬ 
cause the main program must know 
which variables to set in order to pro¬ 
vide input to the subroutine, and the 
subroutine must know which variables 
to leave alone in order to avoid unde¬ 
sirable side effects. This can result in 
some long debugging sessions. 

A BASICA function is defined as a 
single mathematical expression that 
must fit on one line of source code. 

The arguments of the function are dis¬ 
tinct from any main program variables 

Several software companies 
have examined the situation 
and decided that it is the 


BASICA implementation that 
has been outstripped, not the 
BASIC language itself. 



of the same name, and the single-line 
structure of the function definition pro¬ 
tects the main program from any side 
effects. The high degree of isolation be¬ 
tween the function subprogram and the 
calling program can, in certain situa¬ 
tions, be as restrictive as the lack of iso¬ 
lation in GOSUB subroutines. 

This implementation of GOSUBs 
and functions is the lowest common de¬ 
nominator provided by BASICA and 
adopted by the six enhanced products. 
The enhanced BASICS, however, pro¬ 
vide some more advanced capabilities. 
Professional basic has made a minor im¬ 
provement over BASICA by allowing 
named labels to be used in place of 
line numbers in GOSUB and GOTO 
statements. Procedures may thus be 
given descriptive names. The problem 
of global variables remains, however. 

The other BASICS go much further 
in the sophistication of subprograms. 
Procedures are identified by name, not 
line number, and may have parameters 
the way functions do. Functions may be 
defined over many lines, like proce¬ 
dures. Parameters may be passed either 
by value or by reference (the former 


makes a temporary copy for the subpro¬ 
gram; the latter accesses the caller’s 
copy, allowing a parameter value to be 
permanently changed). Most significant¬ 
ly, subprograms may be recursive—that 
is, they can invoke themselves. 

Advanced subprograms may be in¬ 
ternal or external. Internal subprograms 
are coded within the invoking program 
(GOSUB procedures are internal). Typi¬ 
cally, internal subprograms and their 
callers share variables except for param¬ 
eters and those variables declared as 
local. External subprograms are physi¬ 
cally separated from the invoking pro¬ 
gram, either by residing in separate 
hies or by being placed after the logical 
end of the invoking program. A signifi¬ 
cant advantage of external subprograms 
is that the scope of variables is the op¬ 
posite of that for internal ones: they are 
local by default unless declared global. 
This allows finer control over intended 
and inadvertent side effects. 

watcom basic supports internal sub¬ 
programs only. Except for the primitive 
GOSUB procedures and single-line 
functions, BetterBASic and BB X support 
only external programs. True basic and 
megabasic support both. In addition, 
BetterBASic, True basic, and megabasic 
all implement libraries of precompiled 
external routines. 

FIELD statement. BASICA’s FIELD state¬ 
ment is often cited as one of its worst 
features. Its purpose is to specify the 
fields that make up a record of a ran¬ 
dom-access hie. Record-oriented hie I/O 
is not usually supported in BASIC to the 
extent that it is in COBOL or Pascal. 
BASIC has no standardized way of spec¬ 
ifying the layout of a hie record, and 
the implementations in the various dia¬ 
lects of the language are signihcantly 
different. Alternative methods of speci¬ 
fying record layouts are not necessarily 
any better or easier to code than the 
much-maligned FIELD statement. 

The big shortcoming of the FIELD 
statement is that each of the helds in 
the record can contain only string, not 
numeric, data. In order to write numer¬ 
ic data to a random hie, the system 
must be fooled into treating it as string 
data. This is accomplished by means of 
the MKI$, MKS$, and MKD$ functions 
on output and the CVI, CVS, and CVD 
functions on input. This scheme negates 
one of the advantages of record I/O: the 
aggregation of different data types into 
a single structure. Apart from this draw¬ 
back, the FIELD statement is not too 
bad; each held is identihed by name, 
and although hxed record length is 
restrictive, it lessens the potential for 
programmer errors. 


JUNE 1986 


55 









Aztec C ... The Best C 

Frees the genius inyou 


You’ve got a great idea ... 

... you’re ready to write your programs. 

You don’t want to be sidetracked by all the paper¬ 
work. With Manx Aztec C and the ingenious make 
function, your creative processes won’t get bogged 
down in program administration and housekeeping. 
Manx Aztec C has the most sophisticated, hardwork¬ 
ing program administrator available to you. Once 
you’ve described your project, adding new features or 
enhancements is simple. You never have to concern 
yourself with the repetitive, tedious task of rebuild¬ 
ing your systems. 

The development process moves quickly. Com¬ 
piles, assemblies, link edits ... all finish in record 
time. 

Manx Aztec C is the fastest, most efficient C de¬ 
velopment system in the industry. Benchmarks show 
it... reviews commend it... users praise it. 

You’re ready to test the program. You’re ahead of 
schedule. The Manx Aztec C Source Level Debugger 
shows you the exact C language statement giving you 
a problem. You fix the problem quickly ... you’re 
still ahead of schedule. 


“ ... a superb linker, a profiler, an assembler, 
and a set of development utilities are only the be¬ 
ginning of this package ... performed admirably 
on the benchmarks, with short compile times and 
the best link times in this review ... includes the 
most professional make utility ... documentation 
is clear and complete. There is no doubt that this 
is a valuable and powerful programming en¬ 
vironment.” Computer Languages Feb. ’86 

”... execution times are very good, close to the 
best on most tests ...” PC Tech Journal Jan. ’86 

“ Easily one of the fastest compilers overall... 
library provides a lot of flexibility ... generates 
small .EXE files.” Dr. Dobbs Journal Aug. ’85 

C’Prime (Compiler, Assembler, Linker) $ 99. 

Aztec C 86-d Developer’s System $299. 

Aztec C 86-c Commercial System $499. 

PC ROM (8086, 68000, 8080, or 6502) $750. 

Third Party Software for Aztec C: HALO, PHACT, C-tree, 
PRE-C. Windows for C, PC-lint, PANEL, Greenleaf, db Vista, 
C-terp, Plink-86, FirsTime, C Util Lib, 
and others. 



You’ve got some time for fine tuning. 
The Manx Aztec C Profiler examines 
your program, tells you where the slow 
spots are and validates your test pro¬ 
cedure. A few changes and it’s exactly 
what you wanted. 

You’ve made it! 


Aztec C is available for MS-DOS/PC 
DOS. Call for details on Macintosh, 
Amiga, Apple II, CP/M-80, 
CP/M-86, TRS-80, ROM and others. 


To order, or, for information 

Call Today 

1 - 800 - 221*0440 

In NJ or outside the USA call 
(201)542-2121 

30-day satisfaction guarantee. Special Discounts 
are available to professors, students, independent 
developers, and on a “trade-in” basis. Site licenses. 


Manx Software Systems 
One Industrial Way 
Eatontown, NJ 07724 


MS is a registered TM of Microsoft, Inc., CP/M TM DRI, HALO TM Media Cybernetics, PANEL TM 
Roundhill Computer Systems, Ltd., PHACT TM PHACT Assoc., PRE-C, Plink-86 TM Phoenix, db 
Vista TM Raima Corp., C-terp, PC-lint, TM Gimpel Software, C-tree TM Faircom, Inc., Windows for 
C TM Creative Solutions, Apple II, Macintosh TM Apple, Inc., TRS-80 TM Radio Shack, Amiga TM 
Commodore Int'l. 

CIRCLE NO. 208 ON READER SERVICE CARD 










BASIC 


Because of their goals of compati¬ 
bility with BASICA, both Professional 
basic and BetterBASic implement the 
FIELD statement in the same way. 
BetterBASic also offers an alternative 
means of record I/O that is by far the 
best of all the BASICS reviewed here. It 
implements a STRUCTURE data type, 
which is described below. 

The record I/O of the other prod¬ 
ucts makes BASICA’s FIELD statement 
appear quite effective in comparison. 
Most of them require constructing a 
record by string concatenation, but 
provide no means of guaranteeing the 
correct record length. 



At first glance, Summit Software’s 
BetterBASic seems to be a no-lose prop¬ 
osition. The current release (2.0) is al¬ 
most fully compatible with BASICA, yet 
it provides many extensions that make 
it suitable for serious applications de¬ 
velopment. It can even read BASICA 
tokenized or ASCII hies directly. 

BetterBASic is halfway between a 
compiler and an interpreter. Program 
lines are checked for syntax at entry, 
and converted to an intermediate code 
that is processed much further than 
BASICA’s tokenized format. This makes 
screen response in the editor somewhat 
sluggish, because the program must be 
recompiled for each new or changed 
line, but it results in a quicker execu¬ 
tion time and the location of all errors 
before execution begins. Otherwise, the 
screen interface is quite similar to 
BASICA’s. An optional runtime system 
allows the creation of stand-alone .EXE 
hies that are executable from DOS. 

Foremost among BetterBASic’s ex¬ 
tensions is full utilization of memory: 
more than 300KB of program and data 
space on a 640KB system. Furthermore, 
a full set of structured programming 
constructs is provided: multiline IFs, 
several forms of FOR, DO, and WHILE 
statements (but no CASE), and call-by¬ 
name subroutines and functions with 
passed parameters and local variables. 
GOTOs and GOSUBs are supported for 


compatibility with BASICA; however, 
structuring is enforced by disallowing 
branches into a loop and requiring only 
one NEXT per FOR statement. 

BetterBASic strings and arrays may 
be either static (fixed size) or dynamic 
(size may change during execution). 

The manual recommends the former 
for efficiency, but the more flexible dy¬ 
namic storage allocation is available 
when needed. Two advanced features 
are borrowed from the C language: 
structures and pointers. A structure is a 
collection of various data types into a 
single named entity. It is especially use¬ 
ful for specifying the layout of hie rec¬ 
ords and is easier to use than FIELD 
(also available in BetterBASic). Because 
of structures, BetterBASic’s handling of 
record-oriented hie I/O is the best of all 
the products reviewed. 

The STRUCTURE statement, similar 
in concept to Pascal’s RECORD, is a list 
of data helds of various types and 
lengths collected into one named entity. 
The big difference between STRUC¬ 
TURE and FIELD is that helds are not 
limited to string data, but may be de¬ 
clared as any type supported by the lan¬ 
guage. For the numeric and pointer 
types, the type itself sets the length; for 
strings, the length is specihed in the 
record dehnition. (Strings within rec¬ 
ords are static; their length cannot 
change dynamically.) Unlike the FIELD 
statement, which is dehned for a partic¬ 
ular hie, a record name has no relation 
to a hie until it is mentioned in an I/O 
statement. The helds of a structure may 
be used just as any other BASIC vari¬ 
ables, without the need for special con¬ 
version (MKI$, CVI, etc.) or assignment 
functions (LSET, RSET). 

Pointers can be used for imple¬ 
menting linked lists in memory or for 
saving the address of an oft-referenced 
element of a multidimensional array 
(this saves the time of repeatedly recal¬ 
culating the address). Unlike C, how¬ 
ever, BetterBASic does not allow manip¬ 
ulating the value of the pointer itself, 
only the item pointed to. For example, 
if X is a pointer to an integer, X + 1 in¬ 
crements the value of the integer that X 
points to; it does not increment X to 
point to the next integer in an array or 
structure. Pointers are manipulated with 
the SET statement, and they may be set 
to point to a variable or to wherever 
another pointer is pointing. Therefore, 
if pointer X points to A(I), it is moved 
to the next element of A by the state¬ 
ment SET X TO A(I+1). If A and Y are 
pointers to the same type of data, then 
the statement SET X TO Y will set X to 
point to the same data that Y is pointing 


to (that is how a program would follow 
the pointers in a list structure). 

Except for the primitive GOSUB 
procedures and single-line functions, 
BetterBASic supports only external sub¬ 
programs. The implementation is simi¬ 
lar to that in advanced structured lan¬ 
guages such as C and Pascal: arguments 
are passed either by value or by refer¬ 
ence, and variables are local unless de¬ 
clared public. Unlike the other BASICS, 
procedures are invoked simply by using 
their names, not by a CALL statement. 
Furthermore, arguments need not be 
enclosed in parentheses, so the name of 
a procedure is used as if it were a key 
word of the language. 

The concept of families is an inter¬ 
esting feature of BetterBASic’s imple¬ 
mentation of subprograms. A number of 
subprograms (procedures or functions) 
may be defined with the same name 
but different argument lists. When a 
subprogram of that name is invoked, 
the system matches the argument list 
with the declared parameter list of each 
member of the family and executes the 
one whose parameters match the actual 
arguments in number and type. Another 
interesting feature is that arguments 
may be declared optional; if omitted, 
they take on a default value. Further, 
BASICA has a key-word argument type 
that is somewhat analogous to enumer¬ 
ated data types of Pascal, allowing the 
assignment of descriptive names to each 
of a range of integer values. 

One criticism about BetterBASic 
subprograms is the way that library hies 
are handled. External programs may be 

B ecause of structures, 
BetterBASlCs handling of 
record-oriented file I/O is the 
best of all the enhanced 
BASICS reviewed here. 



appended to the calling program or col¬ 
lected in library modules. In the latter 
case, however, the library hies needed 
by a given program are named not in 
the calling program, but in a configur¬ 
ation hie that is processed when Better¬ 
BASic is loaded. This makes it quite in¬ 
convenient to tailor the list of libraries 
for each application. 

Its handling of variable declarations 
is perhaps BetterBASic’s worst feature. 

As in Pascal and C, the type of each 


JUNE 1986 


57 












How to make IBM’s most 
powerful personal computer 
even more powerful* 


PLUG IN QUADBOARD -AT 

Quadboard a sophisticated combination of multifunc¬ 
tions and expanded memory. Quadboard-AT 
unlocks the full potential of the PC AT, to 
make IBM’s most powerful personal com¬ 
puter even more powerful. 


Fully Compatible with 

EMS 


POWERFUL MULTI- 
FUNCTIONS WITH EXPANDED 
MEMORY. 

Quadboard-AT begins with a printer port and two com¬ 
munications ports. Add on printers, modems, or other 
communications devices in a snap. And because 
Quadboard-AT features expanded memory, you 
can take full advantage of the AT’s™ powerful 
RAM capabilities. Add from 512K to 3.5 megabytes of 
extra memory to process information faster and more ef¬ 
ficiently than ever before. 


Expanded Memory 
Specification 


COMPATIBILITY FOR THE FUTURE. 

With Quadboard-AT, you get full compatibility with 
the expanded versions of all your 
favorite software. Like Lotus 1-2-3™, 
Symphony™, and Windows 0 . While other 
boards lock you in to the 640K DOS limit, 
Quadboard-AT gives you freedom to grow. 
Now and in the future. 


THE BOTTOM LINE IS VALUE. 

Quadboard-AT comes with QuadMaster @ III utility 
software and a two year warranty (1.5 Mb versions). 
No other AT board on the market delivers more for 
the money. Visit the Quadram dealer nearest you to 
get the full story on this powerful new enhancement. 
Or contact us at One Quad Way, Norcross, Georgia 
30093-2919; 404-564-5566. 



j QUADBOARD-AT 

AST ADVANTAGE!™ 

M EXPANDED MEMORY. 

jFully compatible. 

If FEATURES. 

JTwo serial ports standard. 

If RELIABILITY. 

JTwo year warranty. 

SfVALUE. 

The choice is obvious. 

□ EXPANDED MEMORY. 

Incompatible. 

□ FEATURES. 

One serial port standard. 

□ RELIABILITY. 

One year warranty. 

□ VALUE 

Less for the money. 


QUADRAM 

J An Intelligent Systems Company 

CIRCLE NO. 147 ON READER SERVICE CARD 


Lotus 1-2-3 and Symphony are trademarks of Lotus Development Corp., IBM Personal Computer AT is a trademark of International Business Machines, Inc. Quadboard, QuadMaster 
and the Quadram logo are registered trademarks of Quadram Corp. Windows is a registered trademark of Microsoft, Inc. AST Advantage is a registered trademark of AST. 













BASIC 


variable (BYTE, INTEGER, REAL, 

STRING, POINTER, STRUCTURE, or an 
array of any of these) must be declared 
at the beginning of the program. Al¬ 
though this is at odds with the spirit of 
the BASIC language, in itself it is not as 
onerous as it may seem. An AUTODEF 
switch can be set to generate declara¬ 
tions automatically from the first use of 
each variable in the program. 

The problem is that BetterBASic 
hides declarations from the program¬ 
mer. Type declarations are difficult to 
display and sometimes impossible to 
change. Whether typed by the user or 
generated by AUTODEF, declarations 
are entered without line numbers as if 
they were immediate commands, and 
they are not displayed with the program 
by the LIST command. Declarations can 
be displayed only by LIST DATA, or 
both declarations and the entire pro¬ 
gram can be displayed by LIST ALL. 

Even worse, these declarations are 
very difficult to change from within 
BetterBASic. Attempts to redeclare a vari¬ 
able with a different type or to change 
the size of an array generate the mes¬ 
sage “Variable already defined.” The 
CHANGE command alters the type of a 
numeric variable or the size of a static 
string, but the program does not allow 
the user to change the size of a static 
array, switch a variable from array to a 
scalar, or delete an array declaration. 

Working around the declaration 
drawbacks is possible (though inconve¬ 
nient). The DELETE command removes 
a scalar, but not an array, from the dec¬ 
laration section. An array declaration 
can be deleted if it is in the BASICA 
DIM format, because BetterBASic is suffi¬ 
ciently compatible to allow the same 
syntax. When all else fails, declarations 
may be changed by writing out the pro¬ 
gram with its declarations to an ASCII 
file, exiting BetterBASic, modifying the 
file with a text editor, then reading it 
back into BetterBASic. The declaration 
scheme is one of the roughest of sev¬ 
eral rough edges in BetterBASic. 

The screen editor is essentially the 
same as BASICA’s, but as previously 
mentioned, its response is sluggish 
enough to negate much of the immedi¬ 
acy of an interactive interpreter. The 
Enter key generates keystrokes faster 
than the interpreter can process each 
line. Pressing Enter on a previously dis¬ 
played OK prompt generates an error 
message (in BASICA, the OK line is 
blanked out with no message). Reading 
an ASCII file often generates an “Input 
past end” message, even though the file 
is read and interpreted correctly. If an 
ASCII source file contains errors, those 


lines are listed and flagged but do not 
become part of the program in mem¬ 
ory; converting them to comments 
would be more useful. 

Compatibility with BASICA is good 
but not complete. All BASICA statements 
are implemented except the USR func¬ 
tion (an alternative way to call assembly 
language functions is provided) and 
those that provide support for cassette 
I/O, light pen, and game adapter. Some 
statements are partially implemented. In 
particular, DRAW supports only a subset 
of the BASICA graphics language: values 
in the DRAW string must be constants, 
not variables, and execution of a sub¬ 
string with the X subcommand is not 
supported. These are serious limitations 
of the BASICA graphics capabilities. 

Documentation is provided in a 
thick binder. It is not typeset, but the 
text is easily readable. The early sec¬ 
tions are geared to the novice, whereas 
the reference section is short on expla¬ 
nations and examples, especially for the 
features that BetterBASic shares with 
BASICA. This manual should be used 
along with, not instead of, BASICA’s. 
Editing is a bit careless; some of the key 
words are out of alphabetic sequence, 
and some explanations have not been 
fully updated to reflect version 2.0. 

The underlying design philosophy 
of BetterBASic is quite good, and it has 
several impressive features. The current 
implementation, however, still leaves a 
little to be desired.. 



The noteworthy features of BB X are bi¬ 
nary-coded decimal (BCD) arithmetic 
with 14-digit accuracy, call-by-name sub¬ 
routines with local arguments, and im¬ 
plementation of keyed files. This sys¬ 
tem, which was ported to DOS from 
UNIX, makes no concessions to BASICA 
compatibility or even to any of the con¬ 
veniences provided by DOS. The lan¬ 
guage is very limited, with no support 
for communications, graphics, sound, or 
event trapping. Even PEEK and POKE, 
which are staples of most BASIC dia¬ 
lects, are not implemented. 


The BB X system lacks a functional 
program editor. Full-screen cursor con¬ 
trol is not provided. The only available 
editing key is the destructive backspace, 
and that is in effect only while a line is 
being entered. An EDIT command al¬ 
lows changing existing lines in the pro¬ 
gram, but it does not present the target 
line for editing by overtyping, inserting, 
or deleting. Instead, the user must spec¬ 
ify how much of the line to retain, how 
much to delete, and where to replace 
or insert text. In most cases, retyping 
the whole line is much easier. 

A utility program, written in BB X it¬ 
self, purports to be a full-screen editor 
for BB X programs. It is activated by an 
immediate CALL command and allows 
full-screen cursor control as well as 
overtype, insert, and delete editing. The 
documentation for the edit program is 
poor, and it advises the user to “experi¬ 
ment with the edit program as an alter¬ 
native to the EDIT command.” A help 
file is provided, but it is not accessible 
unless it resides on drive A:. A serious 
drawback is the lack of large-scale navi¬ 
gation commands, such as page down, 
go to a specified line, or search for a 
given string. To move 100 lines up or 
down in a program, the user must lean 
on the cursor key and wait while that 
many lines scroll by. This editor is of 
marginal utility at best. 

To compound the problem, BB X 
cannot read in source code prepared by 
an external editor. All programs have to 
be created and modified within the sys¬ 
tem, and they are saved in a tokenized, 
non-ASCII format that is not readable by 
any other program. 

When saving a program for the first 
time, the size of the file must be speci¬ 
fied along with its name. Fortunately, if 
the size is too small for the program, it 
is extended, but if too large, disk space 
is wasted. Random and keyed files must 
have a record count specified at crea¬ 
tion; they cannot be extended. Before a 
program of any size is run, sufficient 
memory must be allocated. 

The use of decimal floating-point 
representation for all numbers (integers 
are not implemented) takes its toll in 
memory usage, because each of these 
numbers is ten bytes long. Two ver¬ 
sions of BB X are supplied: a small 
model with 32KB of workspace and a 
large 64KB model. As a result, BB X 
could not run the standard sieve bench¬ 
mark with an array dimensioned to 
8,191, because that would require more 
than 80KB of memory. Although all 
arithmetic is performed in decimal, 
functions are included to convert values 
to and from strings containing binary 


JUNE 1986 


59 











Evercom™... 1200 baud, $249 


Evercom is a trademark of Everex Systems, Inc. IBM PC and XT are registered trademarks of International Business Machines Corp. Hayes 1200B is a trademark of Hayes Microcomputer Products Inc. 

CIRCLE NO. 134 ON READER SERVICE CARD 


Now the EVEREX Evercom 
modem is available on a half-size 
card, perfect for the short slots in the 
IBM XT, Portable, and many 
compatibles. EVEREX has 
combined innovative engineering 
and technology to produce a quality 


Hayes-compatible 1200 baud 
modem that out performs the 
competition at a lower price. 
EVEREX engineering is the key 
ingredient that delivers QUALITY 
and FEATURES without sacrificing 
PRICE. 


Before you buy a modem, check these features: 


• 300/1200 bps Haves-compatible 

EVERCOM 

YES 

HAYES 1200B 

YES 

• Half-size card 

YES 

YES 

• Automatic dialing, answering, 
and redialing 

YES 

YES 

• Call Progress Monitoring 

• Configurable from COM1 - COM4 

• Internal Speaker with software 

adjustable volume control 

YES 

YES 

YES 

YES 

NO 

YES 

• Tone and pulse dialing 

YES 

YES 

• Automatic data-to-voice 

transition 

• Detects receiver off-hook 

• Reports speed mismatch 

• Supports 132 columns 

• Communications software included 

• Extended Hayes command set 

• List price 

YES 

YES 

YES 

YES 

YES 

YES 

$249 

NO 

NO 

NO 

NO 

NO 

$489 


Demonstration — FREE 
Brochure 

Remember, before you buy a 
modem, check the features, check 
the price, and then call EVEREX to 
set up a demonstration at your local 
dealer. 

When you call, we will also send 
you the total solution brochure 
describing EVEREX’s complete line 
of IBM microcomputer peripherals. 

1 - 800 - 821-0806 

in California 

1 - 800 - 821-0807 


EVER for Excellence 

48431 Milmont Dr. Fremont CA 94539 
(415) 498-1111 









BASIC 


IEEE format. Such values, when written 
to data files, may be read by programs 
written in other languages. 

The file system supports three 
types of files: byte, random, and keyed. 
Random and keyed files have fixed- 
length records up to 32KB each; keys 
can be up to 64 bytes: A record in a 
keyed file can be found simply by spec¬ 
ifying a key value in the READ or 
WRITE statement. The file system has 
two problems. First, text files with vari¬ 
able-length records delimited by CR/LF 
are not supported in a useful way. Al¬ 
though scanning file input and branch¬ 
ing out of the I/O statement on speci¬ 
fied input characters (such as CR and 
LF) is possible in a convoluted way, it 
is no match for the convenience of 
BASICA’s LINE INPUT statement. 

Second (and this is ironic for a 
product with Business as part of its 
name), BB X has no concept of a file rec¬ 
ord as a collection of fields of various 
data types. Each record is read into or 
written from a single string variable, but 
no special functions are provided to 
guarantee that the concatenation of 
fields is of the correct length. While 
numeric variables can be read or writ¬ 
ten directly with standard list I/O, true 
record I/O is not accomplished so eas¬ 
ily. The documentation is not clear on 
this point, but it appears that the only 
way to write numeric data to a record 
file is to convert the data to ASCII or 
IEEE strings and then concatenate them 
into a single string the length of one 
record. The former exacts a penalty in 
both processing time and storage space, 
w r hile the latter loses accuracy, which is 
the reason for using decimal represen¬ 
tation in the first place. 

The BB X documentation suffers 
from a lack of detail. The manual is pri¬ 
marily a reference with very little expla¬ 
nation and even fewer examples. One 
of the programs most useful features, 
keyed files, is inadequately covered. Al¬ 
though two kinds of keyed files are 
mentioned—sort files containing keys 
only and direct files containing both 
keys and data—the use of sort files is 
not explained. Are they to be used 
when the whole record is the key or 
for pointing to data records in another 
file? These questions are not answered. 

One bright spot in BB X is the im¬ 
plementation of external procedures 
(external functions are not imple¬ 
mented). Call parameters may be 
passed either by value or by reference. 
Variables may be local or global, but 
this is an all-or-nothing proposition: 
either all the variables of the caller or 
none of them except the parameters are 


accessible from the called program. The 
program has no capability to share only 
some of the variables. With local vari¬ 
ables, the procedure may call itself re¬ 
cursively. An external program resides 
in a separate file and is loaded from 
disk at the time it is called; it is nor¬ 
mally dropped from memory when it 
exits. However, frequently called proce¬ 
dures can be made resident for the du¬ 
ration of the main program’s execution. 
This feature works well and is ade¬ 
quately documented, but it does not 
make up for the shortcomings of BB X . 



American Planning Corporation’s prod¬ 
uct, known as apc basic in earlier incar¬ 
nations, is a well-conceived implemen¬ 
tation of BASIC, but it is at a disadvan¬ 
tage on the PC because it is written for 
a generic DOS machine. That means it 
offers no graphics, communications, or 
sound support, because each of these 
features must be tailored to a specific 
hardware configuration. Apart from this 
lack of full support for the PC hard¬ 
ware, megabasic’s only other major dis¬ 
appointment is the lack of a multiline IF 
structure. Extensions to BASICA’s capa¬ 
bilities include full memory utilization, 
loading of several programs into sepa¬ 
rate workspaces, recursive subprogram 
calls, and low-level system access, mega- 
basic can even be used for writing in¬ 
terrupt service procedures. 

megabasic is a true interpreter. Like 
BASICA, it does not discover most 
errors until the flow of execution 
reaches them. Once programs are fully 
developed, they may be executed by 
the supplied runtime system, which is 
merely the interpreter without the edi¬ 
tor and immediate command processor. 
It runs slightly faster than the full sys¬ 
tem and produces tokenized source 
files that are somewhat smaller. 

megabasic’s internal editor is not 
very good, as might be expected from a 
generic implementation. The EDIT com¬ 
mand enters a mode similar to the up¬ 
date mode of EDLIN, but the edit mode 
is controlled by Ctrl-letter combinations 


instead of function keys. Block move 
and search and replace functions are 
provided, and the editor keeps track of 
unsaved changes and asks for permis¬ 
sion to delete them when loading a 
new file or exiting from BASIC. 

Source code may be read and 
saved in either ASCII or tokenized 
format, so an external editor can be 
used. Saving ASCII files is not very con¬ 
venient, because the program must be 
written to a file number. The file is first 
opened to assign a name to the num¬ 
ber, then the program is saved, and the 
file must be closed. If left open, the 
next save appends another copy of the 
program to the end of the file. 

megabasic integers are two words 
long, able to represent numbers with 
an absolute value of more than 2 bil¬ 
lion. Real numbers are represented in 
decimal floating-point format, with the 
accuracy selectable between 8 and 14 
digits. Variable names may be as many 
as 250 characters long, and all charac¬ 
ters are significant. That limit is obvi¬ 
ously not practical because each pro¬ 
gram line is limited to 255 characters. 
Strings are static, meaning that their 
maximum length must be declared. In 
effect, a string is an array of characters 
and always consumes the same amount 
of memory. As in BASICA, undimen¬ 
sioned arrays default to a size of 10. 

String handling is definitely mega¬ 
basic’s strong suit. It has a comprehen¬ 
sive set of string operations not found 
in most other BASICS. Besides the com¬ 
mon concatenation and comparison, 
megabasic provides operators for taking 
the difference, maximum, minimum, 
and match of two strings; other opera¬ 
tors perform bitwise logical operations 
(AND, OR, NOT, XOR, etc.). 

The DIFFERENCE operator is inter¬ 
esting: the result of A$-B$ is a string 
with only the characters that appear in 
A$ but not B$. One typical use would 
be count occurrences of particular char¬ 
acters in a string. LEN(A$)-LEN(A$-“x”) 
determines how many times x appears 
in A$. The MATCH operator builds a 
string with CHR$(255) in every position 
where two strings are equal, and 
CHR$(0) where not equal. MIN and 
MAX get the lower or higher of the 
characters in corresponding positions. 
megabasic has many other string func¬ 
tions, including comprehensive parsing 
and searching capabilities. 

This implementation of the lan¬ 
guage suffers some annoying incompati¬ 
bilities with BASICA. In some cases the 
syntax seems to have been arbitrarily 
changed: multiple statements on one 
line are separated with semicolons, not 


JUNE 1986 


61 












Magic Card II ...Multifunction, $199 


T he EVE REX Magic Card II is 
the multifunction card that has 
the features you want at a price you 
can afford. It can even take an 
original PC, with a 64K mother¬ 
board, to 640K of RAM. Installation 
is a snap with our unique TESTER 
program that runs independently 
and shows exactly where to install 
RAM and how to set the options. 


Why pay almost twice as much 
to get less? EVEREX combines in¬ 
novative engineering, technology, 
and quality manufacturing to bring 
you a quality product that out 
performs the competition at a 
lower price. EVEREX engineering 
is the key ingredient that delivers 
QUALITY and FEATURES without 
sacrificing PRICE. 


Magic Card II in Action 

See for yourself what the 
Magic Card II can do. Call EVEREX 
today for the name of the EVEREX 
dealer near you. 

You’ll be convinced that— 
EVEREX is EVER for Excellence 
too! 

1-800-821-0806 

in California 

1-800-821-0807 



48431 Milmont Dr. Fremont CA 94539 
(415) 498-1111 

Magic Card II is a trademark of EVEREX SYSTEMS, Inc. 

SixPak Plus is a registered trademark of AST Research, Inc. 


Before you buy a multifunction card, check these features: 

EVEREX AST 

Magic Card II Sixpak Plus 


• Uses 64K or 256K Ram Chips 

YES 

NO 

• Battery Backed Clock/Calender 

YES 

YES 

• Parallel Port Standard- LPT 1—LPT3 

YES 

YES 

• Two Serial Ports Standard- COM 1 —COM4 

YES 

NO 

• Game Port Standard 

YES 

NO 

• Adds up to 576K RAM 

YES 

NO 

• RAM disk and print spooler software 

YES 

YES 

• Available with zero RAM 

YES 

NO 

• Compatible with 8MHZ operation 

YES 

NO 

• List Price 

$199-OK 

$395 -64K 




CIRCLE NO. 135 ON READER SERVICE CARD 












BASIC 


colons; the termination of a WHILE 
loop is NEXT, not WEND; no PEEK and 
POKE functions are included, only simi¬ 
lar functions that read or write to mem¬ 
ory as if to a file; segments are defined 
with SEG instead of DEF SEG. 

megabasic’s file system supports 
text and binary hies. The implementa¬ 
tion of text hies holds no surprises. 
Binary hies, however, are unusual in 
that they have no concept of a record; 
the hie is considered a string of bytes 
and positioning is by byte count. To 
read a particular record requires calcu¬ 
lating a byte offset by multiplying the 
record number by the record length. 
The layout of the record is specihed in 
each I/O statement by giving the length 
and type of data to be read into each 
variable in the I/O list. Whether this is 
an improvement over BASICA’s FIELD 
statement is questionable. The cryptic 
length and type codes interspersed 
among the variables in the I/O list make 
for difficult reading. Furthermore, pro¬ 
gram maintenance is made more diffi¬ 
cult by hiding the record layout in the 
executable code and replicating it in 
multiple I/O statements instead of iso¬ 
lating it in a declaration section at the 
beginning of the program. 

Of all the products reviewed here, 
megabasic provides the most sophisti¬ 
cated facilities for modular program¬ 
ming. It implements recursive internal 
procedures and functions with argu¬ 
ments passed either by value or by 
reference. All variables are global un¬ 
less expressly declared local. 

megabasic also supports external 
program modules in separate files. Up 
to 64 of these may be loaded into mem¬ 
ory at once, each into its own work¬ 
space (provided that the system has suf¬ 
ficient memory). By default, the scope 
of subprogram names and variables is 
local to that module, but each module 
may declare public resources (func¬ 
tions, procedures, and data variables) 
that are to be accessible from other 
modules. At runtime, modules are 
loaded into memory only when specifi¬ 
cally requested and remain there until 
specifically dropped. A module may 
have a prologue procedure that is exe¬ 
cuted at load time and an epilogue that 
runs when the module is dropped. 

Once a module is loaded into 
memory, its public resources are not 
accessible to other modules until the 
scope of accessibility is defined. A mod¬ 
ule can allow other modules to access 
its public resources, request access to 
the public resources of other modules, 
or specify that access be allowed from 
any module to any or all other mod¬ 


ules. This provides a great deal of con¬ 
trol over the scope of variables and 
other program resources. It also facili¬ 
tates the implemention of large-scale 
modular applications. 

The interface to assembly language 
routines is somewhat unusual in mega¬ 
basic, because parameters are passed 
only via the registers, not on the stack. 
The user accesses the machine registers 
from BASIC by concatenating the value 
for each register into a string and call¬ 
ing the assembly language interface 
routine that actually loads them. 

megabasic 's documentation con¬ 
tains just the right blend of reference 
material and explanation. Organization 
would be improved if each major sec¬ 
tion presented commands, key words, 
functions, etc. in alphabetic order rather 
than by subject. The text is typewritten 
and reduced in reproduction, so it is a 
little hard to read. 

megabasic is quite impressive for 
what it is: a BASIC interpreter for a 
plain-jane DOS machine. Lack of PC- 
specific features, however, significantly 
reduces its usefulness. 



Unlike the other products reviewed, 
which are dialects of the BASIC lan¬ 
guage and/or supersets of BASICA, Pro¬ 
fessional basic is a development envi¬ 
ronment for BASICA programs. Specifi¬ 
cally, it provides comprehensive debug¬ 
ging facilities to trace the execution of 
BASICA programs, using an involved 
windowing system. (See photo 1 for a 
typical split-screen window display.) 
Most of the BASICA capabilities are im¬ 
plemented, but with significant omis¬ 
sions. Specifically, these major com¬ 
mands are not available: BLOAD and 
BSAVE, DRAW, graphics GET and PUT, 
PLAY, VIEW, and WINDOW. Nor is sup¬ 
port provided for interrupt-driven serial 
communications, light pen, and game 
port. If these facilities are not essential, 
Professional basic can be a useful tool. 

The design philosophy underlying 
Professional basic is to increase commu¬ 
nications between program and pro¬ 


grammer over that provided solely by 
the program’s output. To this end, the 
system provides 14 different windows 
into various aspects of the program’s 
operation. In some respects, this is an 
embarrassment of riches, and the user 
is easily lost in the window structure. 

Professional basic reads and writes 
only ASCII source files. When a pro¬ 
gram is loaded from disk or typed from 
the keyboard, each source line is semi¬ 
compiled into an intermediate pseudo¬ 
code, which cannot be saved. All source 
errors are found before execution be¬ 
gins. The editor is very similar to 
BASICA’s—although different enough to 
be annoying. The cursor cannot be 
moved over the screen at will; instead, 
the F9 and F10 keys copy the previous 
or next source line onto the command 
line at the bottom of the screen; there it 
may be edited as if by the EDIT com¬ 
mand. Alternatively, the user can enter 
the EDIT command with a line number, 
as is the case in BASICA. 

The Professional basic editor pro¬ 
vides several enhancements, including a 
SEARCH command that lists all lines 
containing a given string or highlights 
all occurrences of that string in the 
statements' displayed on screen. The 
value of this feature is compromised by 
the lack of full-screen cursor control. A 
SORT command lists all variables in 
alphabetic sequence, but does not 
create a cross-reference of line num¬ 
bers where the variables are used. 

Professional basic has two basic 
types of windows: execution and trac¬ 
ing. When the program is loaded, it 
brings up the execution system’s con¬ 
trol window. There, the user loads the 
program, performs editing, and issues 
immediate commands. Another execu¬ 
tion-type window is the* print window, 
which appears when the RUN command 
is issued and which receives the pro¬ 
gram’s PRINT output and echoes its key¬ 
board input. The control window is 
reinstated when the program terminates 
or is interrupted with Break. 

The tracing system, which contains 
12 windows, is entered by invoking the 
SRUN command or by pressing an Alt- 
letter combination that identifies the 
window. Once within the trace system, 
single-letter commands switch between 
the various windows, including the ex¬ 
ecution windows, or display any two 
trace windows side-by-side. The trace 
windows are listed below. 

• The list window is entered by the 
SRUN command or by execution of a 
breakpoint in the program. It shows a 
structured listing of the program with 
single statements per line, multiline 


JUNE 1986 


63 














Thanks to our local and remote 
cations solutions, your PCs now have total access to 
world around them. They can talk to other PCs. Share 
hardware and software. And take advantage of all the 
major networking standards. From NetWare to NETBIOS 
to SNA to X.25. 

G/NET™ is our high-performance, low-cost 
Local Area Network for IBM PCs, XTk, Aik and compat¬ 
ibles. Incorporating the Novell NetWare/G family of LAN 
operating systems, G/NET offers electronic mail, print 
spooling, multiple file and communications servers, and 
access to over 3,000 LAN applications. 

And with our G/NETBIOS™ emulation option, 
G/NET can even run programs developed for IBM’s PC 
Network or Tbken Ring. This gives you the best of both 
worlds: IBM LAN software compatibility coupled with 
the performance advantages of G/NET hardware. 

Our G/SNAnet™ gateway provides SNA mainframe 
links for networked PCs. Up to 32 concurrent sessions 
are supported through one shared, board-level controller. 
Each PC can switch between 3270 emulation, 3770/RJE 
emulation, and local PC-DOS or LAN applications. 


Our G/X25net™ LAN gateway lets 
multiple G/NET users access remote LANs, main¬ 
frames and dial-up services. Over X.25 trunk lines 
or public networks such as Telenet and Tymnet. Finally, 
our G/Async™ and G/Carbon Copy™ links can be used 
in a variety of async applications. 

Think of us as your PC SafetyNet™ In addition 
to our cost-effective products, we offer the security of a 
total solution supplier. With complete service and support. 
Continued innovation so you won’t be left behind with 
yesterday’s technology. And assured performance and 
reliability. Just ask any one of our more than 50,000 users. 

So call today for your local Gateway distributor or 
dealer. And let your PCs explore our gateway to anyware. 

QateiMH 

^^communications, inc.^^ 

Ifour PC SafetyNet.™ 

CIRCLE NO. 141 ON READER SERVICE CARD 

16782 Red Hill Ave„ Irvine, CA 92714. (714) 261-0762. 

G/NET, G/NETBIOS, G/SNAnet, G/X25net, G/Async, G/Carbon Copy and SafetyNet are trademarks of 
Gateway Communications, Inc. IBM is a trademark of IBM Corp. NetWare/G is a trademark of Novell Inc. 



BASIC 


IFs, and indented block structure for 
IFs and loops. As the program is exe¬ 
cuted in single-step or sequential 
mode, each statement is highlighted 
in inverse video. Pressing Enter be¬ 
gins execution; pressing the Space Bar 
suspends execution or executes only 
the next statement. Options within the 
list window allow statements that have 
not yet been executed to be high¬ 
lighted; the user also can display 
counts and histograms of execution 
frequency for each statement. On a 
system with a color/graphics adapter, 
the highlighting is in blue; on a 
monochrome monitor, however, 
those lines would be unreadable. A 
FINETRACE option shows the pro¬ 
gress through the component parts of 
a statement—for example, a compli¬ 
cated arithmetic expression. 

• The time window displays program 
statements in the order they are exe¬ 
cuted. When tracing a loop, the loop 
statements are listed anew for each 
iteration. (In the list window, the 
highlight returns to the top of the 
loop on each iteration; the loop state¬ 
ments appear only once.) The value 
of this window is questionable, be¬ 
cause the list window shows the same 
information in a more useful fashion. 

• The pseudocode window traces exe¬ 
cution through the elementary 
pseudocode instructions that are gen¬ 
erated from the source code. The 
code is displayed in understandable 
English; for example, the statement 
X% = Y% + Z% generates “Load 
value of Y% to LA, Add value of C% to 
IA, Store IA to A%.” IA is one of two 
integer registers; also provided are 
two single-precision, two double-pre¬ 
cision, two string, and three index 
registers. At the user’s option, the ap¬ 
plicable registers can be displayed at 
the top of the window. For most pro¬ 
grams, the pseudocode window has 
marginal value, because it applies 
more to the internal operation of Pro¬ 
fessional basic than to the operation 
of the program being traced. 

• Five windows are available for tracing 
data values. The data window shows a 
list of DATA statements and highlights 
the next value to be read. The vari¬ 
able window displays the values of all 
scalars in the program, the array 
window shows arrays in a single col¬ 
umn, and the matrix window has two- 
dimensional, single-precision arrays in 
rows and columns. Navigation keys 
are used to scroll to the beginning of 
the next array or to scroll by as many 
as 10,000 elements in either direction. 
The fifth window is for disk I/O and 


PHOTO 1: Trace Windows 



Professional BASIC’s trace windows 
show indented code of SIEVE.BAS on 
the left, array updates on the right. 


shows the contents of file buffers for 
each open file. 

• The memory window displays the 
contents of an arbitrary memory ad¬ 
dress in the segment specified in the 
last DEF SEG statement; it is especially 
useful for tracing PEEKS and POKEs. 

• The FOR/NEXT window displays up to 
four active FOR loops, showing the 
loop limits and the current value of 
the loop variable. 

• The GOSUB window shows the path 
through nested subprogram calls. 

• Finally, the print trace window is a 
copy of the execution system’s print 
window. This allows splitting the 
screen between print output and any 
of the trace windows (the screen can¬ 
not be split in the execution system). 
The two windows can be automati¬ 
cally switched each time the output 
goes to the side of the screen contain¬ 
ing the trace window. 

As mentioned previously, Profes¬ 
sional basic is intended primarily for 
developing programs, not running 
applications. The manual suggests that 
applications be designed to run under 
BASICA or even be compiled with a 
BASiC compiler. 

Other details underscore the fact 
that Professional basic is a developer’s 
tool rather than a vehicle for end-user 
applications. BASICA lets the developer 
protect an application with the ,P option 
of the SAVE command. This option en¬ 
codes a source file and prevents an end 
user from listing or editing it. Some de¬ 
velopers use ,P for modular program¬ 
ming, protecting each section of code 
after it has been thoroughly tested. Pro¬ 
fessional basic has no equivalent of the 
,P command; source is always displayed 
and the editor is always active. 

Some enhancements to Profes¬ 
sional basic preclude its use if BASICA 
compatibility is important. Foremost 
among these is the use of named labels 


instead of line numbers as targets of 
GOTOs and GOSUBs. Program lines 
can be up to 311 characters long; vari¬ 
able names can have 308 significant 
characters; and integers are two words 
long, allowing absolute values of more 
than 2 billion. However, integer data 
written to files via a FIELD statement 
can be limited to two bytes, if desired. 

Other major differences between 
Professional basic and BASICA are that 
all arrays must be dimensioned (they 
do not default to 10 elements), arrays 
and scalars must have distinct names, 
and only one NEXT per FOR and one 
WEND per WHILE are allowed. These 
requirements, which are more restric¬ 
tive (but desirable from the standpoint 
of programming style) in Professional 
basic than in BASICA, might prevent a 
BASICA program from running in Pro¬ 
fessional basic, but not vice versa. 

The Professional basic manual does 
not claim to be an exhaustive reference; 
the user is warned to use it as a supple¬ 
ment, not a replacement, for the 
BASICA documentation. The explanation 
of the labyrinthine window system is 
not very well organized and contains no 
reference section. Instead, the user is 
walked through many example pro¬ 
grams (all provided on disk). This is 
fine for learning, but not very useful 
several months down the road in the 
middle of a debugging session. 

Professional basic is a novel con¬ 
cept, well executed, and could be very 
useful for developing applications that 
do not need the missing features. 



Developed by the inventors of the origi¬ 
nal BASIC language, True basic boasts a 
few advantages over BASICA—the pri¬ 
mary one being the use of structured 
programming constructs, such as multi- 
line IF, DO WHILE, DO UNTIL, and 
CASE statements and separately com¬ 
piled subprograms with local variables. 
Older style GOTO and GOSUB state¬ 
ments are also supported for compati¬ 
bility with earlier versions of the lan¬ 
guage. Line numbers are optional, but 


JUNE 1986 


65 



















Get started in AI 
with Gold Hill. 



You know artificial intelligence is the 
wave of the future. Programs based 
on the ideas of artificial intelligence 
are being written today in Common 
Lisp-the new Lisp standard 
developed by researchers from 
universities and corporations 
such as Carnegie Mellon, DEC, 

MIT, Stanford, Symbolics 
and TI. Lisp allows the devel¬ 
opment of programs that are 
intelligent, flexible, and even 
human-like. The problem has 
been that hardware needed to 
run Lisp is expensive. 

No longer. Golden Common 
Lisp (GC Lisp) makes it possible 
for you to learn and use Lisp on 

use GC Lisp in 
AI examples provided, you will be 
able to develop such exciting appli¬ 
cations as expert systems, natural 
language systems, and intelligent 
interfaces to complex software. 

The possibilities are endless. With 
GC Lisp you can tackle problems 
that you could not solve before 
with ordinary number crunching 
programs. You will be able to write 
powerful programs that can accom¬ 
modate casual computer users who 
want intelligible answers quickly. 

Learn Quickly with GC Lisp 

GC Lisp makes it easy for you to learn 
the technology of AI at your own 
pace. Each package includes the San 
Marco Lisp Explorer®—an interactive 
software tutorial developed by San 
Marco Associates with Patrick H. 
Winston. This 800-frame instruc¬ 
tional system guides you through the 


steps of Lisp programming and 
makes the full range of Lisp’s 
power accessible to both novice 
and experienced programmers. 
The second edition of the classic 
Lisp textbook by Winston and 
Horn is also included. 

GC Lisp comes complete with the 
intelligent GMACS editor (based 
on EMACS), full on-line documen¬ 
tation of all GC Lisp and GMACS 
functions, the Common Lisp Refer¬ 
ence Manually Steele, and a com¬ 
prehensive user manual. In short, 
Golden Common Lisp comes with 
everything you need to program in 
Lisp. 


AI language. 


NEW! 

The GC Lisp 286 Developer 

Discover programming power you 
never thought possible on your PC 
AT! GC Lisp 286 Developer is a 
complete programming environ¬ 
ment designed for GC Lisp-based 
applications requiring extended 
memory and faster execution. 

The 286 Developer includes 
a Large Memory Interpreter 
capable of addressing 15 mega¬ 
bytes of physical memory, a Large 
Memory Compiler that runs appli¬ 
cations up to 15 times faster, and a 
complete set of program develop¬ 
ment features including lexical 
and dynamic scoping. The 286 
Developer is the first PC-DOS pro¬ 
gramming environment that takes 
hill advantage of the speed and 
memory capacity of the IBM PC AT 
and compatibles, and it’s now avail¬ 
able to help you develop powerful 
and productive AI applications. 

Order Today 

For more information on Gold Hill 
products, please call today: 

1-800-242-LISP 

In Massachusetts call collect 
(617) 492-2071 

GC Lisp requires an IBM PC, PC XT, PC 
AT, or IBM-compatible with a minimum 
of 512K and PC-DOS 2.0 or higher. 

GC Lisp 286 Developer is non-copy 
protected, and requires an IBM PC AT or 
compatible with a minimum of 512K of 
base memory, 2 megabytes of extended 
memory, ana PC-DOS 3-0 or higher. 

© 1986 Gold Hill Computers 


GOLD HILL COMPUTERS 

163 Harvard Street, Cambridge, Massachusetts 02139 


Golden Common Lisp, GC Lisp and GC Lisp 286 Developer are trademarks of Gold Hill Computers. The San Marco Lisp Explorer is a registered trademark 
of San Marco Associates. Lisp is copyrighted by Addison Wesley Publishing Company, Inc. The Common Lisp Reference Manual is copyrighted by 
Digital Equipment Corporation. IBM PC, PC XT, PC AT, and PC DOS are trademarks of International Business Machines. 


CIRCLE NO. 122 ON READER SERVICE CARD 







BASIC 

they are an all-or-nothing proposition: 
either every line is numbered or none 
is. Numbering is required when old- 
style branch statements are used. 

One feature of True basic that has 
received a lot of criticism is the fact that 
assignment statements must begin with 
the LET key word. This is a requirement 
of the proposed ANSI standard for the 
BASIC language (see sidebar). 

True Basic’s user interface harks 
back to the time-sharing heritage of the 
language. The system is started by typ¬ 
ing HELLO and ended by typing BYE, 
files are called up by the OLD com¬ 
mand, and unrecognizable command 
errors produce the response, “WHAT?” 
The screen presentation, however, is all 
modern. Initially, the top 18 lines of the 
screen display the loaded program, and 
the bottom 7 comprise a history win¬ 
dow where immediate commands are 
typed. The boundary between the win¬ 
dows can be changed at will. The his¬ 
tory window can be scrolled to review 
previous commands, but unfortunately 
these commands may not be reissued 
by pointing to them and pressing the 
Enter key. Only the current command 
line at the bottom of the history win¬ 
dow accepts keyboard input. 

The upper editing window is used 
to enter or modify the program. The 
editor’s key-driven command structure 
is logically designed, and its response 
time is acceptably quick. Blocks of lines, 
with or without line numbers, may be 
moved or copied, and find and replace 
commands are implemented. 

true basic compiles source pro¬ 
grams to an intermediate code that exe¬ 
cutes much more quickly than BASICA’s 
tokenized format. Programs may be 
saved in either source or compiled 
form, but the latter still requires the 
True basic system for execution. An 
optional runtime system is available for 
converting True basic programs into 
.EXE files that may be run from DOS. 

True basic implements two features 
that were a hallmark of the original 
time-sharing BASIC. The first is a single 
numeric type for all values. BASIC was 
designed as an untyped language; inte¬ 
gers were added to speed it up on 
microcomputers. As shown by True 
basic’s winning performance in arithme¬ 
tic benchmarks (see below), the prob¬ 
lem of speed seems to have been 
solved in this implementation. 

The second feature is one for 
which mainframe BASIC was justly 
famous: matrix operations. Single state¬ 
ments are used to read and write 
arrays, copy one array to another, add 
arrays, and multiply them by scalars. 


Matrix multiplication, inversion, trans¬ 
position, and calculation of determi¬ 
nants are provided for two-dimensional 
arrays. Functions are available to gener¬ 
ate specialized arrays such as constant, 
identity, and zero matrices. 

True basic implements both inter¬ 
nal and external subprograms. The in¬ 
ternal variety implements global vari¬ 
ables only; local declarations are not 
supported. Conversely, variables in ex¬ 
ternal subprograms are strictly local. 
Parameters to procedures can be passed 
either by value or by reference, but 
function parameters are passed by value 
only. Because passing by value involves 
making a copy of the argument, passing 
large arrays as arguments to functions 
exacts a penalty in execution time and 
memory usage. 

Any type of subprogram can be in¬ 
voked recursively, but in practice, re¬ 
cursive internal subprograms are not 
very useful because they lack private 
variables. External subprograms can be 

A/i though it does not sup¬ 
port BASICA’s DRAW state¬ 
ment, True BASIC provides 
an even better graphics 
capability through its 
PICTURE statement. 


appended to the programs that call 
them, or they can be collected into li¬ 
brary files. In the latter case, the calling 
program names the libraries it needs, 
and the libraries are loaded along with 
the calling programs; libraries cannot 
be dropped from memory when they 
are no longer needed. 

The graphics capabilities of True 
basic are quite impressive. As in 
BASICA, a full complement of com¬ 
mands is provided for drawing points, 
lines, boxes, arcs, and circles. But the 
location of any graphic element is spec¬ 
ified in terms of user-defined coordi¬ 
nates, not in terms of pixels. By default, 
the coordinate origin is in the lower 
left corner as on graph paper, not in 
the upper left as in BASICA, and each 
dimension runs from 0 to 1. These di¬ 
mensions may be easily changed, and 
the direction in which the dimension 
increases may be reversed This means 
that the BASICA pixel-based coordinate 
system may be easily simulated. 


Tailoring the screen coordinates to 
the data results in very easy graphing. 
For example, when plotting annual data 
for the years 1980 through 1986, the 
horizontal dimension may be defined as 
1980-1986, and True basic will automati¬ 
cally put equal space between the data 
points along the horizontal axis. 

True basic permits the definition of 
windows (both text and graphics) any¬ 
where on the screen. For graphics, each 
window has its own user-defined coor¬ 
dinates, so the programmer need not 
be concerned with window size in 
terms of pixels. When text is written to 
a window with PRINT statements, its lo¬ 
cation must be specified in character 
rows and columns, but text also can be 
plotted at any position in terms of the 
window’s graphic coordinates. This al¬ 
lows printing of text beginning at any 
specified pixel location. 

Although it does not support 
BASIGA’s DRAW statement, True BASIC 
provides an even better capability 
through its PICTURE statement. A PIC¬ 
TURE is a subprogram of graphics state¬ 
ments with parameters whose value 
may change at each call, thereby allow : 
ing the user to draw one shape in a va¬ 
riety of sizes, positions, or orientations. 

File I/O is True basic’s weak point. 
Three kinds of files are supported: text, 
byte, and record. Text files are imple¬ 
mented as in BASICA, with variable- 
length records terminated with the CR/ 
LF sequence. For byte files, an arbitrary 
number of bytes can be read into or 
written from a string. The implementa¬ 
tion of record files is at odds with True 
basic’s otherwise modem design. Each 
fixed-length record can contain only 
one item (scalar, string, or array ele¬ 
ment). When writing items shorter than 
the record size, the remainder of the 
record is unused, and each ensuing out¬ 
put item goes into a new record. 

Record spanning (the breaking up 
of a long data item over several shorter 
file records) would be a useful addition 
with fixed-length records. An error mes¬ 
sage is generated if an attempt is made 
to write an item that is longer than the 
file’s declared record size. In most lan¬ 
guages that support record-oriented 
I/O, a record is a collection of several 
items of different types; in True basic, 
however, such a collection would have 
to be read and written as several rec¬ 
ords, each of a length equal to the 
longest of the items. 

In fact, several items can be com¬ 
bined into one string and written into 
one record, but the method to do so is 
rather awkward. Like BASICA, True 
basic can convert numerics to and from 


JUNE 1986 


67 




The World’s 
Best Selling 
Multi-User 
Database 
For Five Years 
Running ,; 


DataFlex versions are available 
for all popular single-user and multi-user 
operating systems, including Xenix. 

For a free copy of this poster 
(minus ad copy), write Data Access Corp. 
or leave a message on our 
Bulletin Board System: (305) 238-0640. 


DATA ACCESS CORPORATION 

8525 S.W. 129th Terrace-Miami-FL-33156-6565 (305) 238-0012-Telex 469021 DATA ACCESS Cl 

circle no. 118 on reader service card See us at NCC Booth C-3344 





BASIC 


strings. However, it lacks some of 
BASICA’s aids, such as the FIELD state¬ 
ment to assign names to various por¬ 
tions of the record and LSET/RSET to 
guarantee that fields have the proper 
length. Therefore, fields must be com¬ 
bined by concatenation and broken 
apart with substring statements. 

Compatibility with BASICA is not 
one of True basics aims. An optional 
program, PC Converter, processes most 
BASICA statements into True basic 
format, but significant cleaning up with 
an editor is still required. Statements 
that have no counterparts in True basic 
are flagged with asterisks to generate 
compiler errors when the program is 
first run. Other statements are imple¬ 
mented as subprogram calls, and a sub¬ 
program library is provided with the 
converter program. 

Unfortunately, several of the 
BASICA statements not converted, such 
as DRAW and FIELD, are those that do 
the most work and require the greatest 
effort in order to reconstruct them in 
True basic syntax. Except for DRAW, 
graphics statements are converted, and 
the statements to set the screen coordi¬ 
nates to BASICA’s screen dimensions 
are automatically inserted. 

Other extra-cost options available 
for True basic are communications sup¬ 
port, a developer’s toolkit, Btrieve inter¬ 
face, sort/search routines, and Formlib, 
a screen forms editor. 

Documentation consists of two 
spiral-bound books encased in a flimsy 
cardboard box that is unable to stand 
on its own. One of the books is a refer¬ 
ence manual, which is organized by 
subject, not alphabetically. Finding in¬ 
formation on specific program state¬ 
ments or functions requires much page 
flipping. The other book is a user’s 
guide specific to the IBM PC. It presents 
material of increasing complexity in 
four sections entitled “Novice”, “Inter¬ 
mediate”, “Advanced,” and “Technical.” 
This last section is a little light on use¬ 
ful information for the technically 
oriented user. For example, it states that 
True basic uses two formats for floating¬ 
point numbers, depending on whether 
or not the system has an 8087 chip, but 
it neglects to describe either one of 
these formats. Otherwise, the documen¬ 
tation is adequate for a user with mod¬ 
erate programming experience. The 
writing includes many examples. 

Except for the poor handling of 
record file I/O, True basic is an excel¬ 
lent implementation of the language 
and is recommended for BASIC pro¬ 
grammers who need more capabilities 
than are offered by BASICA. 


■1 

:;y ; . 


Watcom basic 


watcom, the company spun off from the 
University of Waterloo in Canada, is 
noted for easy-to-use, bulletproof lan¬ 
guage products especially designed for 
students. Its BASIC interpreter follows 
the company’s tradition: it is simple, 
with tutorial documentation, and it is 
full of structured concepts. 

watcom basic is a true interpreter 
like BASICA and megabasic. Although it 
preprocesses programs into a tokenized 
format, it does not report errors until 
execution reaches a statement with an 
error. The program editor is very simi¬ 
lar to the one in BASICA; in fact, the 
only difference noted was the fact that 
Ctrl-arrow keys do not move the cursor 
by word. Program files may be loaded 
and saved in either tokenized or ASCII 
format, but watcom basic cannot auto¬ 
matically determine the type of input 
file. A different command is necessary 
for loading each type of file: OLD for 
ASCII, LOAD for tokenized. Similarly, 
two commands are available for saving 
each type of file: SAVE for ASCII, STORE 
for tokenized. Because these commands 
are difficult to remember, they should 
be easy to find in the watcom manual; 
unhappily, they are not. 

watcom has produced the first 
BASIC that makes a distinction between 
lower- and uppercase letters in variable 
names. Fortunately, key words are still 
case-insensitive. 

Numbers may be 16-bit integers or 
floating-point reals with either single or 
double precision. Integers are declared 
by appending % to the variable name; 
declarations by initial letter (DEFINT) 
are not possible. This makes conversion 
of all-integer programs, even simple 
ones, a much bigger undertaking than it 
should be. The choice of short or long 
precision for real numbers is made 
once at the beginning of the program, 
so all reals must be of the same preci¬ 
sion. watcom basic automatically detects 
and uses an 8087 processor. 

Matrix operations are supported 
for initialization (to a scalar or constant 
matrix such as the identity matrix), as¬ 



signment, addition of and multiplication 
by a scalar, addition and multiplication 
of matrixes, transposition, and inver¬ 
sion. The calculation of determinants is 
not included. True basic is the only 
other enhanced BASIC product that sup¬ 
ports matrix operations. 

watcom basic provides structured 
constructs in the form of multiline IF- 
THEN-ELSE statements and several 
loops. Call-by-name procedures and 
functions are available; they are inter¬ 
nal, meaning that they must reside in 
the same source file as the main pro¬ 
gram. All variables within a source file, 
except for call parameters, are global 
unless they are declared as local to a 
subprogram. Old-style GOTO, GOSUB, 
and single-line IF statements are also 
supported by watcom basic. 

The file system supports text and 
binary files. The former are fairly stan¬ 
dard, but the implementation of binary 
files has several annoying quirks. The 
set of file I/O statements is asymmetri¬ 
cal; a GET statement is used to read sin¬ 
gle bytes from a binary file, but there is 
no corresponding PUT. Binary writes 
are performed with the PRINT state¬ 
ment using a binary format code. For 
the GET statement to work, either a rec¬ 
ord length must be specified when the 
file is open, or the file must contain CR/ 
LF pairs as record delimiters. If a rec¬ 
ord length is declared, say at ten bytes, 
then a CR character is returned by 

Watcom basic a the first 

implementation that makes 
a distinction between lower- 
and uppercase letters in var¬ 
iable names; key words are 
still case-insensitive. 



every 11th GET, regardless of whether 
or not a CR byte actually exists in the 
file. If a CR byte is found in the file, the 
next character is ignored on the as¬ 
sumption that it is a line feed. Further¬ 
more, all file output operations append 
CR/LF after each write unless special 
precautions are taken when the file is 
opened. This file system makes it very 
inconvenient to process unstructured 
binary data to or from programs that 
are outside of watcom basic. 

Record formats are specified in 
USING strings. This seems to be a good 


JUNE 1986 


69 

















To Over 30,000 Installations, 
MultiLink® Multi-User. 


At over 30,000 sites, as many as one-quarter of a million 
users tap into the power of MultiLink® Advanced everyday. 

Since 1981, they’ve come to rely on our multi-tasking, 
multi-user system for compatibility with their favorite 
software, and the ability to share disks, files, printers, 
and programs in a true PC-DOS environment. 

From the largest of the Fortune 500 to the smallest in 
small business, MultiLink® has provided a cost-effective 
multi-user solution that’s available from no one else. 

MultiLink® Means Cost-Effective Timesharing 
on a PC. MultiLink® Advanced utilizes the principle of 
timesharing by sharing a central PC’s peripherals, files, 
and processor time among nine users. Up to eight in¬ 
expensive terminals can be connected to a single non- 
dedicated IBM PC, XT, AT or 100% compatible using 
standard RS-232 ports. Each terminal effectively emu¬ 
lates a PC having up to 512K RAM. 

PC-Shadow™ Workstations, shown below, even have 
an AT look-alike, as well as work-alike, keyboard, dis¬ 
play, and serial port. In addition, password-protected 
remote access via modem can be made with either dumb 
terminals or PCs running our terminal emulation software. 


MultiLink® Means PC-DOS Compatibility with a 
Software-Driven System. Lotus 1-2-3, Symphony, 
WordStar, dBASE III, & Multimate are just a sampling 
of the wide variety of PC-DOS software that’s fully 
compatible. 

Our software-driven system is also IBM NETBIOS 
compatible, so programs that are written for IBM’s 
Token Ring will run on our multi-user system, as well. 

MultiLink® Means Multi-User to Leading 
Computer Publications. Whether you read PC Magazine, 
“MultiLink® Advanced delivers on...convenience, speed, 
and flexibility,” or InfoWorld, “If you want a low-cost 
multiuser system with up to eight terminals, MultiLink® 
Advanced is worth a serious look;’ it becomes clear that 
MultiLink® Advanced is a formidable contender in the 
multi-user marketplace. 

See What MultiLink® Can Mean to You. Learn, 
firsthand, how our multi-user system can benefit your 
company. Call The Software Link TODAY for complete 
information and the authorized dealer nearest you. 
MultiLink® Advanced is $495 and comes with a 
money-back guarantee. 


MultiLink' is a registered trademark of 
The Software Link, Inc. MultiLink' Advanced 
& PC-Shadow "' are trademarks of The 
Software Link, Inc. IBM PC, XT, AT, PC-DOS, 
Token Ring, & NETBIOS are trademarks of 
IBM Corp. WordStar, dBASE III, Multimate, 
Lotus 1-2-3 & Symphony are trademarks of 
MicroPro, Ashton-Tate, Multimate International, 
& Lotus Development Corp., respectively. 


© 


THE SOFTWARE LINK, INC. 

8601 Dunwoody Place, Suite 632, Atlanta, GA 30338 Telex 4996147 SWLINK 

CALL: 404/998-0700 

Dealer Inquiries Invited 

THE SOFTWARE LINK, INC./CANADA 
250 Cochrane Drive, Suite 12 Markham, Ontario L3R 6B7 
CALL: 416/477-5480 

CIRCLE NO. 196 ON READER SERVICE CARD 




eiotus 






BASIC 


TABLE 2: Benchmark Times 



BASICA 

BETTER- 

BASIC 

BUSINESS 

BASIC 

MEGA- 

BASIC 

PRO. 

BASIC 

TRUE 

BASIC 

WATCOM 

BASIC 

INTEGER ARITHMETIC 

SIEVE (mimsec) 

3:23 

0:49 

_a 

1:48 

1:25 

0:26 

4:17 

REAL ARITHMETIC 

MULDIV (mimsec) 

4:12 

1:11 

3:29 

1:12 

4:18 

0:20 

1:40 

Calculation error 

... 0 

0 

0 

0 


3E-14 

3E-16 

FILE I/O 

FILEIO (bytes/sec) 

112 

16 

100 

408 

98 

20 

71 

Minutes to copy 30KB file 

9 

62 

10 

2.5 

10 

50 

14 

GRAPHICS 

HAT (min) 

33 

36 

_c 

_c 

147 

61 

64 

a Program too large for workspace 

h Bug prevents print-out of error value; see text 


Graphics support not implemented 


Benchmark surprises are the speed of True BASIC’s untyped numbers and BASICA’s respectable showing in file I/O. 


idea except that “10 AS WHATEVER” in 
a FIELD statement is much more read¬ 
able than a string of ten # characters in 
a format string. Two further problems 
are that numeric data cannot be written 
in binary format, but are always con¬ 
verted to/from characters on I/O, and 
that the fields of the record must be 
enumerated in each I/O statement. Be¬ 
cause record layouts are distributed 
throughout the program, updating them 
becomes a chore. 

watcom basic provides most 
BASICA graphics capabilities, but all of 
the functions are performed with differ¬ 
ent key words. Especially frustrating is 
the fact that a function, not a command, 
is required to switch between graphics 
and text modes. The user must type 
X=MODE(0) instead of BASICA’s 
SCREEN(O). A stripped-down version of 
the DRAW statement is implemented, 
without the capability to scale images or 
execute substrings. Sound and event 
trapping are not supported, watcom 
basic cannot be used to write an 
interrupt-driven communications pro¬ 
gram. The interpreter itself, however, 
supports the serial port as a device for 
reading and writing program files. 

The documentation consists of two 
spiral-bound booklets. The Primer and 
Reference Manual is primarily a teach¬ 
ing tool and makes a very poor refer¬ 
ence. The reference section is orga¬ 
nized by subject. Besides the index, the 
only alphabetic list in the book is an 
appendix of all immediate commands 
and program statements, but only their 
syntax is shown—nothing is said about 
what each one does. A user deciding 
whether to save a program with SAVE 
or STORE may spend several frustrating 
minutes flipping through pages before 
finding the answer. 


The other booklet is a User’s Guide 
specific to the IBM PC, which discusses 
file I/O, graphics commands, and inter¬ 
nal data representations. This part of 
the documentation is more usable than 
the reference manual. 

watcom basic is useful as an educa¬ 
tional tool, but even with its enhance¬ 
ments in coding structure, it is not a re¬ 
placement for BASICA’s capabilities. 

THE BENCHMARKS 

Because BASIC is not formally standard¬ 
ized, the number of dialects and the 
magnitude of the differences between 
them exceed those in other languages. 
For this reason, developing a full suite 
of benchmarks was impossible. Four 
programs were used to get a general 
idea of the efficiency of each BASIC for 
various types of processing. The results 
are listed in table 2. All timings were 
done with the built-in BASIC timer and 
exclude any precompilation time. 

The standard Sieve of Eratosthenes 
algorithm, performed with a matrix size 
of 8,191, tests integer arithmetic. BB X 
could not run this test because it imple¬ 
ments all numbers as 10-byte decimal 
floating point, but it allows a maximum 
workspace of 64KB. 

Speed and accuracy of floating¬ 
point arithmetic was tested by the 
MULDIV program, translated from the 
Turbo Pascal version published in the 
April 1986 issue of PC Tech Journal 
(see “8088 vs. V20,” Juan Jimenez and 
Steve King, p. 73). It was performed in 
the greatest precision offered by each 
of the BASIC products. 

The FILEIO program simulates 
disk-intensive activities by copying sin¬ 
gle bytes from one file to another. This 
is not the most efficient way to copy 
files, but it is not meant to be a test of 


file copying efficiency. Single-byte I/O is 
very common in BASIC, as shown by 
the many published programs that build 
.COM files from DATA statements. 

Both input and output files were 
on the same floppy disk. The test was 
run on a floppy-disk drive for two rea¬ 
sons. First, BASIC is often used on a sys¬ 
tem without a hard disk. Second, tim¬ 
ings on a floppy disk are more consis¬ 
tent than on a hard disk, because hard 
disk models are more numerous and 
variable than floppy drives and hard¬ 
disk I/O time is affected by location of 
free space on the disk. On a floppy, the 
two files can be kept in a constant spa¬ 
tial relationship to each other, and any 
user can duplicate the conditions. 

Several of the BASICS allowed 
more than one formulation of the I/O 
statements in this program. All of the 
obvious ones were tried, and the fastest 
result is reported. 

The last benchmark program, HAT, 
exercises graphics capabilities. HAT is a 
good example of programming for por¬ 
tability. The graphics statements are col¬ 
lected into one subroutine, and only 
the simplest drawing commands (for 
points and lines) are used. As a result, 
converting to the syntax of another 
BASIC is quite trivial. (HAT was origi¬ 
nally published in “A Diversionary 
Benchmark,” Susan Glinert-Cole, July- 
August 1983, p. 93.) 

All 19 programs run in testing the 
BASIC interpreters are available on 
PCTECHline; three of them are printed 
with this article. Listing 1 (FILEIO.BAS) 
is the BASICA version of the I/O bench¬ 
mark. This program ran as-is in Better- 
basic. However, it ran much faster with 
two changes (the GET and PUT state¬ 
ments); of its own volition, BetterBASic 
added many declarations (see listing 2, 


JUNE 1986 


71 












BASIC 


FILEIO.BB). The True basic version (list¬ 
ing 3, FILEIO.TRU) had to be written 
from scratch. In these listings, programs 
are identified by the following exten¬ 
sion: .BAS for BASICA and generic pro¬ 
grams; .BB for BetterBASiC; .BBX for 
Business basic; .TRU for True basic; 

.MEG for megabasic; and .WAT for wat- 
com basic. If a particular interpreter 
does not have its own copy of a pro¬ 
gram, it can run the .BAS version. 

AN OVERALL WINNER? 

The results in table 2 contain at least 
one surprise: BASICA is not totally over¬ 
whelmed by the competition in terms 
of speed. It makes an especially respect¬ 
able showing in file I/O, comfortably 


leading the full-featured BASICS and 
coming in second behind megabasic. In 
the other tests, True basic is fastest in 
arithmetic, while BetterBASiC has the 
fastest graphics. No overall winner or 
loser could be proclaimed on the basis 
of execution speed. 

Nor could an overall winner be 
named in terms of general features. The 
choice of an enhanced BASIC ultimately 
depends on the uses to which a BASIC 
interpreter will be put and on the par¬ 
ticular shortcomings of BASICA that the 
user seeks to remedy. 

BB X has many flaws and is not rec¬ 
ommended. Its major problems are 
small memory utilization and lack of 
modern structured programming con- 


THE ANSI STANDARD FOR BASIC 


For several years the American Nation¬ 
al Standards Institute has been work¬ 
ing to produce a standard for BASIC. 
The first attempt was made in 1978 
with the issuance of Minimal BASIC. A 
new standard is nearing the end of 
the approval process and should be 
official this summer. 

ANSI BASIC is designed to allow 
a wide variety of applications to be 
programmed in the language. Ease of 
use, avoidance of the unexpected, and 
portability over a wide variety of hard¬ 
ware and operating systems are prime 
concerns and take priority over ease 
of implementation in nearly all cases. 
The design was chosen to be suitable 
for both interpreters and compilers. 
The proposed standard consists of a 
large core with optional modules for 
graphics, fixed decimal arithmetic, ex¬ 
tensions to file handling, editing, and 
realtime programming (multitasking). 

A rich variety of control struc¬ 
tures permit structured programming 
techniques. Many of the implementa¬ 
tions that are based on the proposed 
standard allow programs to be written 
without line numbers, although this is 
not required in the standard. The con¬ 
trol structures include looping with 
the possibility of exit anywhere within 
the loop; multiline IF-THEN-ELSEIF- 
ELSE blocks; and a flexible case selec¬ 
tion mechanism. Some examples: 

DO 

INPUT X 

IF X > 0 AND X < = 7 AND X = INT(X) 
THEN EXIT DO 

PRINT “Enter an integer 
between 1 and 7” 

LOOP 

and 


SELECT CASE A$(l:l) 

CASE “A” TO “Z”, “a” TO “z” 

PRINT A$; “ starts with a letter” 

CASE “0” TO “9” 

PRINT A $; “starts with a digit” 

CASE ELSE 

PRINT AS; “begins with neither” 

END SELECT 

Several modes can be expressed 
in the OPTION statement. The arith¬ 
metic type may be floating decimal, 
fixed decimal, or native—whatever the 
implementor wants. Trig functions can 
use either radians or degrees. The de¬ 
fault lower boundary for arrays may 
be 0 or 1, and the implementor might 
provide a non-ASCII character set in 
addition to ASCII. 

ANSI BASIC also provides several 
means for segmenting programs. 
Functions, subprograms, and pictures 
(graphics routines) may be either in¬ 
ternal or external. External routines 
have their own name spaces. Internal 
routines share variable names with the 
main program or external routine in 
which they are located. Recursive calls 
of these routines are permitted. Exter¬ 
nal routines are designed so that sepa¬ 
rate compilation is possible, though 
not mandated by the standard. Names 
of routines, like those for variables, 
may be up to 31 characters long. 
Implementations must not compro¬ 
mise the uniqueness of names. Thus: 

VERY_LONG_ROUTINE_IDENTIFIER_ 1 

and 

VERY_LONG_ROUTINE_IDENTIFIER_2 

must not refer to the same object. 

Arrays may be manipulated ele¬ 
ment-by-element or as a whole. Nu- 


structs. Furthermore, it offers no hard¬ 
ware-specific features such as graphics, 
sound, or communications support, no 
PEEK or POKE commands, and only 
limited editing functions. BB X cannot 
import BASICA programs—a serious 
flaw. It does, however, provide a few 
advanced features: call-by-name subpro¬ 
grams with local variables, keyed files, 
and decimal arithmetic. Subprograms 
can be made either transient or resi¬ 
dent at the programmer’s option. 

megabasic is a well-executed imple¬ 
mentation of generic MS-DOS BASIC. It 
lacks PC-specific functions, such as 
graphics, sound, and communications, 
and, like BB X , it cannot accept BASICA 
programs. Among megabasic’s good 


meric arrays may be assigned, set to 0, 
set to a constant value, added, sub¬ 
tracted, multiplied, transposed, and in¬ 
verted. String arrays may be assigned, 
set to nulls, and concatenated. Whole 
arrays may be used with input and 
output statements. Arrays also are 
used in significant ways in graphics. 

A large portion of the proposed 
ANSI standard is devoted to files, 
which are classified by their overall 
organization and by the type of record 
they contain. A file organized sequen¬ 
tially contains records that are ac¬ 
cessed one at a time, from first to last. 
A file with a stream organization con¬ 
tains a sequence of values—as distin¬ 
guished from a sequence of records. 
Relative files contain addressable rec¬ 
ord areas. Keyed files can have their 
records accessed by the value of a rec¬ 
ord’s (string-valued) key. Record types 
for files include display (ASCII charac¬ 
ters), internal (values with distinct 
data types), and native (values take 
meaning according to templates used 
with input and output statements). A 
BASIC implementation might use in¬ 
ternal records to hold real numbers in 
a specialized binary format or native 
records to read data files from a cer¬ 
tain COBOL compiler. 

The standard takes great pains 
to describe what happens when errors 
occur. For example, after an attempt 
to read a string value into a numeric 
variable, ANSI BASIC defines the posi¬ 
tion within a file where the next oper¬ 
ation would take place. In addition to 
defining what happens, the standard 
provides means of handling excep¬ 
tional circumstances. Input and output 
statements may tell what happens if 
the end-of-file is reached or records 


72 


PC TECH JOURNAL 











points are all the desirable language ex¬ 
tensions: full memory utilization, struc¬ 
tured coding, modular programming 
with separate compilation, megabasic 
offers more extensions for subprograms 
and string handling than any other 
BASIC reviewed here, and its documen¬ 
tation is first-rate. Only the lack of 
machine-specific functions prevents 
APC’s product from receiving a much 
stronger endorsement. 

watcom basic is more useful in the 
classroom than in business. It provides 
the features that are most desirable in a 
modern teaching language: structured 
coding and modular programming. Ma¬ 
trix computations, also useful in a scien¬ 
tific setting, are supported. It has an ab- 


are missing. In these cases, programs 
may exit loops or transfer to specific 
lines. A control structure for more 
general exception handling is pro¬ 
vided. For example: 

WHEN EXCEPTION IN 

PRINT “Enter age and weight” 

INPUT AGE, WEIGHT 
IF AGE > 10 THEN 
PRINT “Enter height” 

INPUT HEIGHT 
END IF 

USE !COME HERE ON EXCEPTIONS 
PRINT “Enter numbers only” 

RETRY !TRY INPUT AGAIN 
END WHEN 

! COME HERE WHEN ALL IS WELL 

The optional graphics module of 
ANSI BASIC is based on the IBM 
Graphical Kernal System (GKS) stan¬ 
dard. Implementations of GKS for 
other languages is done with CALLs to 
a subroutine package. In ANSI BASIC, 
access to much of GKS is accom¬ 
plished through statements in the lan¬ 
guage. Programmers express graphics 
in problem terms, rather than in 
screen-dependent coordinates. For ex¬ 
ample, if a problem called for values 
in the horizontal direction ranging 
from 0 to 50 and values in the vertical 
direction ranging from -10 to 10, 
then the following statement 

SET WINDOW 0, 50, - 10, 10 

could be used to express the current 
range of interest. To draw a line from 
point (5,5) through (20,6.5) to 
(23,-4), might require the statement 

PLOT 5,5; 20,6.5; 23,-4 

In addition to setting the coordi¬ 
nate system and drawing lines, the 


breviated implementation of graphics 
support. Disadvantages are a small 
workspace (smaller than BASICA’s), lack 
of separate compilation, and documen¬ 
tation that emphasizes the educational 
aspect of this product at the expense of 
providing a usable reference, watcom 
basic is recommended only for the edu¬ 
cational environment; otherwise, both 
the program and its documentation will 
be quickly outgrown. 

BetterBASic promises the best of all 
possibilities: near-total compatibility 
with BASICA, plus advanced enhance¬ 
ments that depart from BASIC’s simplic¬ 
ity but give the language many of the 
capabilities of Pascal and C. Delivery of 
its promises is lacking, however. 


user can display individual points, 
areas, and text with a variety of styles 
and colors (if supported in the imple¬ 
mentation). Graphics is possible in 
terms of arrays of cells, which may or 
may not correspond to pixels on a 
screen. Graphics input from a variety 
of devices is also supported. Graphics 
pictures are like subroutines, but the 
graphics they display may be trans¬ 
formed by matrix expressions on the 
calling statement. The matrix expres¬ 
sions normally are in terms of the 
built-in functions ROTATE, SHEAR, 
SHIFT, and SCALE. For example, 

DRAW SQUARE WITH SCALE(2,4) * 
ROTATE(45) 

would call PICTURE SQUARE and 
change its output so that it would be 
twice as wide and four times as high; 
then it would be rotated 45 degrees 
(if degrees are being used). 

The realtime programming mod¬ 
ule of the ANSI BASIC standard is de¬ 
signed for applications such as pro¬ 
cess control where it is necessary to 
have a number of primarily indepen¬ 
dent activities that are able to commu¬ 
nicate with each other. 

ANSI BASIC defines no com¬ 
mands other than a small number in 
the optional editing module. Many of 
the popular commands were thought 
to be operating-system-specihc and 
thus beyond the scope of the current 
draft standard. Microsoft BASIC users 
will find that the following statements 
have no equivalent in the standard, 
but may appear in implementations 
based on the standard: BEEP, BLOAD, 
BSAVE, ON COM, ON KEY, ON PLAY, 
ON PEN, OUT, PLAY, POKE, SCREEN, 
SOUND, SWAP, WAIT, and WIDTH. 


The product design is impressive, 
so it is especially disappointing that a 
series of individually minor faults make 
using BetterBASic a frustrating experi¬ 
ence. These faults include slow screen 
response in the editor, inflexibility in 
defining data types, incomplete imple¬ 
mentation of the DRAW statement, and 
several quirks during loading of hies 
and navigating around the screen. 

The best feature of BetterBASic is 
that it addresses all of BASICA’s short¬ 
comings: large memory utilization, 
structured coding constructs, call-by- 
name subroutines with local variables, 
and separate compilation. It adds fea¬ 
tures that go far beyond the capabilities 
of BASICA: pointers and structures (the 


The proposed standard and Microsoft 
provide approximately the same num¬ 
ber of functions, but these Microsoft 
functions are not in the ANSI version: 
CDBL, CINT, CSNG, CSRLIN, CVI, CVS, 
CVD, EOF, FRE, INKEY$, INP, INPUTS, 
LPOS, MKI$, MKS$, MKD$, PEEK, 

PLAY, PMAP, SCREEN, SPC, TIMER, 

USR, and VARPTR($). 

Integers are not included in ANSI 
BASIC. In fact, the standard does not 
have a provision for more than one 
type of number in a given program 
unit. The ANSI BASIC standards com¬ 
mittee wished to do more complete 
design work before standardizing ad¬ 
ditional numeric data types. 

The approach to extending the 
standard by adding modules to a cen¬ 
tral core will allow such extensions to 
see the light of day before the next 
complete revision cycle of the lan¬ 
guage. A mini-standard for single char¬ 
acter input for BASIC should be avail¬ 
able for public comment this summer 
or fall. Another standard for modules 
(similar to that capability in Ada and 
Modula-2) should follow in three to 
six months. Work is also being done 
in these areas: extended array capabil¬ 
ities, data types, data structures, screen 
management, and sound. 

As is the case with nearly all ANSI 
standards, compliance with ANSI 
BASIC will be voluntary in the private 
sector. If the U.S. government adopts a 
standard as a Federal Information Pro¬ 
cessing Standard (FIPS), government 
agencies often require adherence to 
the standard. ANSI Minimal BASIC is a 
FIPS, and the proposed BASIC stan¬ 
dard is expected to be one as well. 

—Jim Harle 
ANSI BASIC standards committee 


JUNE 1986 


73 












The largest selling 
1200bps modem 
just got smaller. 


I 
I 
I 
l 
I 
l 

mJ 

◄-—--——-13”-* | 

©1986 Hayes Microcomputer Products, Inc. 



ThenewHayes 
Smartmodem1200B 

Now you can get a lot more out of 
your PC, by putting a little more in. 
Our new Hayes Smartmodem 1200B 
includes the same quality and 
advanced features that have made 
it the leading 1200 bps modem. 
Now, advances in Hayes technology 
allow us to make it available in a 
size that fits either full slots or a 
“single” half slot. 

That’s important news if you have 
an IBM,® AT&T,® Compaq,® Tandy® 
or other compatible computer with 
half slots. It means with a Smart- 
modem 1200B, you can free up one 
of your full slots for an additional 
function, such as color graphics, 


more memory or networking. Or, if 
you prefer, you can continue to use 
the new Smartmodem 1200B in one 
of the full slots. Hayes makes it easy 
and versatile to fit your needs. 

There are many good reasons for 
choosing Hayes. Our new space¬ 
saving Smartmodem 1200B is one of 
them. Hayes Smartcom II,® the 
industry’s best selling communica¬ 
tions software, is another. 

Smartcom II for the IBM and 
compatibles makes short work of 




Say yes to the future 


CIRCLE NO. 155 ON READER SERVICE CARD 


communicating, while allowing 
you to take full advantage of the 
sophisticated capabilities of your 
Smartmodem 1200B. Together, they 
create a powerful, yet easy-to-use, 
communications system for your 
PC. They're made for each other, 
and customized for IBM PC's. 

The best reasons of all for choos¬ 
ing Hayes are the "built-in” benefits. 
Advanced technology. Unsurpassed 
reliability. And a customer service 
organization that's second to none. 

So, when you see your authorized 
Hayes dealer ask for the largest sell¬ 
ing 1200 bps modem. Smartmodem 
1200B. And remember. Now it's 
smaller, too. Hayes Microcomputer 
Products, Inc. P.O.Box 105203, Adanta, 
GA30348. (404) 441-1617. 














BASIC 


latter allows the best implementation of 
record I/O of any BASIC). It may be 
programmed just like BASICA, or with 
only a moderate investment in learning, 
the user may graduate to some very 
powerful programming capabilities. 

Judging by the immense improve¬ 
ment from version 1.0 to 2.0, future up¬ 
dates may well solve some of these 
problems. Summit Software should 
keep working to improve this one, be¬ 
cause the underlying concept deserves 
to succeed. BetterBASic could become 
an excellent vehicle for any type of pro¬ 
gramming, including the development 
of serious commercial applications. 

Professional basic is supposed to 
be a development and debugging sys¬ 
tem for a subset of BASICA, with minor 
extensions. It is not too useful for com¬ 
plex graphics or any communications 
program, but it is good for computa¬ 
tionally intensive programs (those with 
complex algorithms and subtle bugs.) A 
versatile windowing system affords in¬ 
sight into various aspects of a program’s 
execution, allowing rapid zeroing in on 
runtime bugs. The extensions are useful 
during the development phase, yet easy 
to remove when returning programs to 
execute under BASICA. The language 
restrictions in comparison to BASICA 
(no default size for arrays, distinct 
names for arrays and scalars, and single 
loop termination statements) are not 
burdensome; in fact, they foster a desir¬ 
able programming style. 


Of the implementations reviewed 
here, the one most highly recom¬ 
mended is True basic, which addresses 
most of the limitations of BASICA. It 
provides large memory utilization, 
structured coding constructs, local vari¬ 
ables, and separate compilation—all in 
a package that is well thought out and 
quite easy to use. 

Despite these advanced features, 
True basic adheres closely to the infor¬ 
mal, unstructured spirit of the original 
BASIC language. Although True basic is 
somewhat hampered by inconvenient 
file I/O, it has many strong points, such 
as 8087 support, fast arithmetic even 
without the 8087, matrix operations, 
and an excellent implementation of 
graphics. This all adds up to make True 
basic the language of choice, especially 
for graphics and compute-intensive 
programs. l |m — 

BASICA: bundled with DOS 
IBM Corporation 
P.O. Box 1328 
Boca Raton, FL 33429-1328 
Contact the local IBM dealer; 

800/426-2468 

CIRCLE 340 ON READER SERVICE CARD 

BetterBASIC. $199; runtime: $250 
Summit Software Technology 
106 Access Road 
Norwood, MA 02062 
617/769-7966 

CIRCLE 341 ON READER SERVICE CARD 


Business Basic Extended: $295 
BASIS, Inc. 

5700 Harper Drive N.E., Suite 290 
Albuquerque, NM 87109 
505/821-4407 

CIRCLE 342 ON READER SERVICE CARD 

MEGABASIC: $375 
American Planning Corporation 
4600 Duke Street, Suite 423 
Alexandria, VA 22304 
703/751-0451 

CIRCLE 343 ON READER SERVICE CARD 

Professional BASIC: $99 
Morgan Computing Company, Inc. 
P.O. Box 112730 
Carrollton, TX 75011 
214/245-4763 

CIRCLE 344 ON READER SERVICE CARD 

True BASIC: $149; runtime: $500 
True BASIC, Inc. 

39 S. Main Street 
Hanover, NH 03755 
603/643-3882 

CIRCLE 345 ON READER SERVICE CARD 

WATCOM BASIC: $250 
WATCOM Products 
415 Phillips Street 
Waterloo, Ontario, N2L3X2 
519/886-3700 

CIRCLE 346 ON READER SERVICE CARD 


Ted Mirecki is a corporate planner who is 
responsible for developing decision support 
systems on a variety of hardware. 


LISTING 1: FILEIO.BAS 


•MAIN Program: FILEIO BENCHMARK FOR BETTER BASIC 

090 REM for PC-BASIC & PROFESSIONAL BASIC 


100 PRINT TIMES 

095 REM 


110 KILL "A:0UT.FIL" 

100 PRINT TIMES 


120 OPEN "A:IN.FIL" AS #1 LEN = 1 

110 KILL "A:0UT.FIL" 


130 OPEN "A:0UT.FIL" AS #2 LEN = 1 

120 OPEN "A:IN.FIL" AS #1 LEN = 1 


160 FOR I = 1 TO 30000 

130 OPEN "A:0UT.FIL" AS #2 LEN = 1 


170 READ RECORD #1, I, X 

140 FIELD 1, 1 AS REC1$ 


190 WRITE RECORD #2, I, X 

150 FIELD 2, 1 AS REC2$ 


200 NEXT I 

160 FOR I = 1 TO 30000 


205 CLOSE 

170 GET #1 


210 PRINT TIMES 

180 LSET REC2$ = REC1$ 



190 PUT #2 


ENDFILE 

200 NEXT I 



205 CLOSE 



210 PRINT TIMES 





LISTING 3: FILEIO.TRU 

LISTING 2: FILEIO.BB 


! FILEIO benchmark for True Basic. 



» Written from scratch in True Basic. 

SOURCE 



PRECISION= 7 


unsave "A:OUT" 

AUT0DEF=0N 


print timeS 

OPTION BASE=0 


open #1: name "A:IN", access input,organization byte,recsize 1 

ERL=0N 


open #2: name "A:OUT",access output,create new,organization byte,recsize 1 

ERRORMODE=GLOBAL 


for i = 1 to 100 

RESUME=STATEMENT 


read #1: xS 

F0RM0DE=GW 


write #2: x$ 

SC0PE=0FF 


next i 

PROCS=0 


close #1 

INTEGER: I 


close #2 

BYTE: X 


print timeS 



end 


JUNE 1986 


75 















UG0MU0O O 
.4\nnnnno 0 

'Jiw»UOOCK^|,.«'iF 

i ^ sKi . ’-Tiff! 


’ouuuguu 

innnAnnO 


IJUUUUU^ <6 
rvrvnw^nr* ! l *4 r^r^o.i 


UUUUUOUU 4> U^O^CAI 

It 

uuyu^;M9MUUM^, 4 ^ 

- '‘TTT'JVU^ss , | 4»\*< 


Lotus is a registered trademark of Lotus Development Corporation. Microsoft is a registered trademark of Microsoft Corporation. ©1986 Intel Corporation 


Diary ofan 


I traded my 16K machine and all 
those disks for Lotus® 1-2-3 and 256K. 
And immediately got the urge to 
merge. I started by merging regional 
statements in Maine. But before I 
could get to Iowa, I ran out of gas. 


At 512K, I discovered what the coor¬ 
dinates IV169 looked like. I was so 
far out there it felt like I was walking 
on the moon. It didn’t take long to 
find out 512K was nothing more than 
a walk around the block. 


640K! Loads of space until I fell in love 
with integrated software and was 
back to cutting up files again. Sure, 
the other functions make my work¬ 
sheet more persuasive, but I’m back 
to slugging in and out disks. Shades 
of!6K. 


Old war stories of how you fought your way up 
through the memory ranks are great to remember 
as long as you don’t have to relive them. And you don’t. 

Thanks to one incredible breakthrough. Above™ 
Board PS. 

Above Board is the memory board that drove the 
Lotus*/ Intel/ Microsoft* expanded memoiy specifica¬ 
tion, Infoworld’s 1985 Peripheral Product of the Year. 

From Intel. The company that has driven more 
standards than all of the other chip shops put together. 


Above Board PS has the parallel and serial ports, 
clock, print buffer, and RAM disk you’d expect from 
a conventional multifunction board. 

But why buy a conventional board when Above 
Board PS can take you from 256K all the way to 
1.5 megabytes in one fell swoop, without even pausing 
for a breath at 640K. 

So you don’t need to hot-wire your way to the top 
anymore. With Above Board PS, the split worksheet 
is history. The new norm is windowing, pop-ups, and 










overachiever. 


I’m on my way to 1.5 MB and I’m 
not looking back. Monster spread¬ 
sheets, killer models, Microsoft® 
Windows, and all kinds of pop-up 
utilities so I can juggle a bunch of 
balls at once. 


AA A-Vp* 


> LK. > •• OO Giy L' U.GGGGCs'A / w ^ V\ \ 

' for- cae ; 0 € > \ 

'C K ('no rs -, V it 


>rRS ^ . < 
* ■ . - *> 


> *; rvvwooo ' v 

Ij; €r b *£« 8 Hi n° ^ 

C) O ** f'Onnorr^n ~ r«« aa 


A** ^r« t** Vi* Wi y>jM R ^ UUOUOOt' O ijUbUooUU ^ bUl'Ct vw 'V ».*. ■■$ t 

>ronrr*nr> «CwC;C®OOC o r 1— —— ■ a * ^ 

,UUW^UUU 6 ~ * lUUUyc .' : 

'no ^nrrnnn Arr poppa fnnnnnn.rnn r r ^nn^.cr.nt: ,.- 

OiMTEL 0 

Orf fflrasU ,, .. J _ .. *4 

rW'w- l'Wt-L-l-1' Giv UOUVUV OK. O o l-Ui/O rCy- 1 ctU,l ; clv f 7 .,, # 

'nnnnnnnnn 0\ ^ ^ 0 q (^pppppp r t*\ p f^nno.n nnn. ■ w 

q q ' “! '•?<>• 0 V0 f'» *; 

i lit 0 O > .15|L c t * 

,Ut,.\''.'V<VVv<V O. /-. o L't'OOOl.'C O . COv'JvU't" €* '-• : .J*l.; W.-,U'Ui~; >r . : V'■ 

■000000000, ■ of'or'C'OO <?• <C;C;C.C.CiCC C* cooneor a • f /tir.fi.te.cSSfS <? 1 :: 


R 

B 


a <f ;p,0,00,f^0 &> ■ Jil 


■^w*WW WW *»**?*»& ^vt'tA/UUU.' C* C*s^V7^C?vy*P O t-wv^U'/v^ ‘-W t-'i'wvCvVv. 1 *' : :'•.- 

* i fW>#l , V r >C> f&Ofmfyy *gr*f ppppppppo nnonncnr p OP 




tWca*? fc*vj^NP vsfwss* *£ 

o O ^ _ * a 


? j ooscho m 


RAM speed on everything—even databasing and 
word processing. 

The second-biggest difference between Above 
Board PS and conventional multifunction boards 
is the unconventional warranty on it. Five years 
instead of the usual two. 

Ease of installation is nothing to sneeze at either. Its 
software installs with as few as three keystrokes. It 
even intelligently customizes your memory allocation. 

Above Board PS is part of a family of products 


■■ .- 


for the IBM PC, XT, AT and compatibles. 

You can buy them at your favorite computer 
store. Or call 800-538-3373 for the names of 
dealers near you. 

And re-write the book on overachieving. 

Help for the overachiever. 


intel 


CIRCLE 216 ON READER SERVICE CARD 


m t • ■ • !• 








Ada just moved 
into a 

smaller place. 


We have some very good news 
for you. 

You can now get a validated, 
full Ada® compiler for the IBM® 

PC AT. From the people who 
designed the Ada language. For 
just $3,000. 


Which means you and your 
company can now program in Ada 
without tying up a big, expensive 
computer. 

And you should program in 
Ada. And not just because the DoD 
says so. 






Ada & 4-MB of memory* 
for the price of 4-MB of memory. 


The DoD mandates Ada for 
their software principally because 
Ada is considerably easier and less 
expensive to maintain. 

Does more reliable and easier 
to maintain code sound attractive 
to you? If not, just look at how your 
programmers are spending 80% of 
their time. 

People who know Ada are call¬ 
ing it “the only logical language for 
the eighties 
(and nineties.” 
I The point is, 
they’re not 
thinking of 
Ada as “the DoD language.” It’s 
simply because Ada supports good, 
solid software engineering practice. 

And now you can try full Ada 
programming for less than the cost 
of a two week training program. 

The Alsys™ Ada compiler for 
the PC AT is not only validated, it’s 
actually written in Ada. And pro¬ 
duces code so efficient if executes 
faster than C or Pascal on tested 
benchmarks. 

And if that’s not 
enough, the Alsys PC AT 
Ada compiler runs in pro¬ 
tected mode. So you can 
use the full amount of 
memory available to the 
PC AT. This means you 
can run a program using 


up to 16 
megabytes 
of memory 
for code 
and data 
without 
worrying 
about DOS, 
overlays and 


1432 Main Street, Waltham, MA 02154 


□ Send me more information about 
the Alsys PC AT Ada compiler. 

□ Send me more information about Ada. 


Compan 


Zip 


all that stuff. 1_ l _I 

lastly, this compiler tota lk to 
comes with a 4-megabyte 
memory upgrade board. 

That, by itself, is worth 
the price of admission. 

At this point, we 
suspect you might be 
tempted to pull out a 
credit card and give us a call. 

Or at least fill out the coupon. 
Write: Alsys, Inc., 1432 Main 
Street, Waltham, MA 02154, 
U.S.A., Telephone: (617) 890-0030, 
Telex: 948536. 

In France: Alsys, S.A., 29, 
Avenue de Versailles, 78170 La 
Celle St. Cloud, France, Tele¬ 
phone: 33(1)3918 12 44, 
Telex: 697569. 

In England: Alsys, Ltd., 
Partridge Hse, Newtown 
Road, Henley-on-Thames, 
Oxon RG9 1EN, 

England, Telephone: 

44 (491) 579090, 

Telex: 846508. 

CIRCLE NO. 200 ON READER SERVICE CARD 

Ada® is a registered trademark of the U.S. Government (Ada Joint Program Office). IBM® and PC AT are registered trademarks of International Business Machines Corporation. 
Alsys™ is a trademark, service mark, and trade name of Alsys S.A. *Memory board manufactured by Profit Systems, Inc. 


IBM 

in 

Ada 


Knowledge is good. 
Especially when it’s free. 




































:;« . • 


Mechanical CAD 


CADKEY’S three-dimensional drawing world is 
best-suited to mechanical drafting; however, 
it offers advantages for other fields as well 


A s do all CAD (computer-aided 
drafting) systems, cadkey, Micro 
Control Systems’ entry into the 
growing microcomputer production 
drafting CAD market, displays a window 
into an electronic drawing world, cad- 
key’s world is three-dimensional, but 
differs from other such systems in that 
it is not limited to the modeling of 
three-dimensional objects (cubes, cylin¬ 
ders, and spheres). The program also 
allows the entry of one- and two-dimen¬ 
sional objects in arbitrary planes, cad- 
key’s drawing world is based on float¬ 
ing-point arithmetic and is virtually un¬ 
limited at 999,999,999,999 units in each 
dimension. Resolution is .000001 units, 
allowing the construction of drawings 
of steiiar-sized objects detailed to op¬ 
tical precision (millionths of an inch). 

In its present form, cadkey is best 
suited to mechanical drafting; it lacks 
that are useful to other disci- 
louble line drawing and per- 
yiews used in architectural 
varying width lines needed for 
circuit board layout. Micro Con- 
strategy has been to aim 
iy at mechanical engineers. 



VICTOR E. WRIGHT 


cadkey 2.02 runs on the IBM PC, 
PC/XT, PC/AT, and close compatibles. 
The system must include 512KB of RAM 
and a hard disk with at least 1.7MB of 
free space—1.5MB to contain the sys¬ 
tem and 200KB for workspace. A math 
coprocessor (8087 or 80287) is advised. 

cadkey supports a number of 
graphics boards, ranging from the 
IBM Color Graphics Adapter to high- 
performance boards such as the Cono¬ 
graphic Cono-Color 40 and the Number 
Nine Revolution card. The program sup¬ 
ports monitors from Electrohome, Mit¬ 
subishi, and others. Some of the graph¬ 
ics cards require that jumpers be set 
depending upon the monitor used. 

A pointing device is not required 
for minimal operation, but should be a 
practical requirement. Various digitizers 
are supported, including the Summa- 
graphics and GTCO tablets. 

cadkey is supplied on five un¬ 
labeled 5 v 4-inch floppy disks. Disk 1 
includes a primitive installation batch 
file that creates the proper directories 
and copies most of the files into those 
directories, prompting for the other 
disks that it requires. The installation 


program does not give any indication 
that the correct disks have been in¬ 
serted, nor does it check that all of the 
correct files have been installed. 

After cadkey has been installed, it 
must be configured using the menu- 
driven CONFIG.EXE file. Selections are 
made from lists of supported devices 
with function keys. CONFIG.EXE does 
not recall the previous configuration, so 
changing a single element of the system 
means repeating the entire configura¬ 
tion process. However, special versions 
or updates of the program are not nec¬ 
essary when the hardware configuration 
changes in any way. 

In addition to setting up the hard¬ 
ware configuration, the CONFIG.EXE 
program sets default paths to the vari¬ 
ous subdirectories, which store draw¬ 
ing, symbol, plot, and database files. 

cadkey’s disks are not copy pro¬ 
tected, and they can be archived, 
copied, and installed as desired. In¬ 
cluded in the cadkey package, however, 
is a small box, referred to as the copy 
protection device, that plugs into the 
parallel port to ensure that the program 
is used on only one CPU at a time. 




81 

















MECHANICAL CAD 


PHOTO 1: CADKEY Screen 


CREATE LINE 


0 BACK-UF 
ESCAPE 


VIEW: ? 
ALEU: 1 
HLEV: 8 
COLOR: 6 
L-TVPE: 1 
CONST:3D 
SNAP:OFF 
S 1.038 
» 0.088 


0.008 

8.088 



Enter number of segments on curves <2> -> 


The top line shows the current commands; the current 
menu options are on the left. The MESH command creates 
separate lines that can be individually edited. 


PHOTO 2: Position Menu 


1 CURSOR 

2 POINT 

3 KH&KHTw 

4 CENTER 

5 IMTRSC 

6 ALONG!. 

7 POLAR 

8 BELTA 

9 KEY IN 
it BACK UP 

ESCAPE 


VIEW: 7 
ALEO: I 
KLEO: 8 
COLOR: A 
L-TVPE: 1 
CONST:3» 
SNAP:OFF 
S 1.887 
D W.880 


4.414 

8.329 



Indicate end point 


/ Select ENTITY 


CADKEY is able to draw a line from the endpoints of two 
entities simply by using CREATE-LINE ENTPTS-ENDENT. A 
triangle appears on each entity as it is selected. 


THE DISPLAY 

The cadkey screen display is divided 
into two windows: one for drawing dis¬ 
play and one for menu selection. Some 
effort has been expended to leave as 
much room as possible for the display 
of drawings, omitting superfluous fea¬ 
tures such as borders and window 
frames. The drawing display window 
occupies the major portion of the 
screen, while the menu selection win¬ 
dow takes up a column along the left 
side, separated from the drawing dis¬ 
play by a vertical bar. In addition to the 
two major windows, cadkey displays a 
prompt/status line at the top and bot¬ 
tom of the screen (see photo 1). 

The cursor for the drawing win¬ 
dow is a tracking cross, or cross-hair 
cursor, about one-inch square. It is dis¬ 
played in white. When the cursor leaves 
the drawing window to enter the menu 
area, it changes from a cross to a set of 
triangles. Menu selections are made by 
moving the menu cursor to point to the 
desired item and clicking the pointing 
device button, cadkey text color (yel¬ 
low, by default) and cursor size can be 
altered with the CONFIG program. 

The menu window is divided into 
three sections. The topmost section dis¬ 
plays a current menu or submenu. It 
contains a maximum of 11 selections, 
corresponding to the 10 function keys 
plus the Esc key. These keys can be 
used to select commands without a 
pointing device. Two of the keys have a 
constant value: Esc always returns to the 
main menu, and F10 (displayed as the 0 
key) returns to the previous or next 
higher level menu. 


This top menu area displays a por¬ 
tion of a tree-structured menu. Menu 
selections near the top of the tree cause 
submenus to be displayed, listing addi¬ 
tional options. As progressively lower 
menus are selected, the previous com¬ 
mands are also displayed on the top 
line, in effect displaying the path from 
the main menu to the current point in 
the menu structure. In cadkey termi¬ 
nology, this is the history line. 

A constant display of options and 
toggles, provided primarily for control 
of the display, comprises the second 
menu area. Selecting one of these puts 
the current value on the status/prompt 
line and prompts for a new value, or it 
simply toggles the option. 

The third menu area, located at the 
bottom of the menu window, displays 
the X and Y coordinates of the cursor. 
The coordinate display functions in two 
modes: tracking the cursor position 
continuously or updating the position 
only when a certain point is selected. 

The drawing window can be 
moved so that the coordinate display 
overwrites part of the prompt line, and 
the cursor may be moved to a position 
behind the top menu line, which is 
quite irritating, cadkey could be 
improved by allowing the pointing de¬ 
vice to be active only in areas of the 
screen where it is functional. A further 
improvement would be to have the dif¬ 
ferent buttons on the pointing device 
perform different functions, such as se¬ 
lect, back up, or escape, instead of all 
having the same function. 

Entering commands with the 
menus is fast with a moderate amount 


of practice; the display changes very 
quickly, and the menu displays are gen¬ 
erated immediately. However, an 
accomplished user will perceive that a 
considerable amount of time is re¬ 
quired for prompts to be displayed. In 
addition, using the menus limits the 
commands that can be issued. 

To accommodate the experienced 
user who knows the command struc¬ 
ture and is limited by the menu struc¬ 
ture, cadkey provides an immediate 
mode in which selected commands can 
be entered directly, using Ctrl- and Alt- 
key combinations, regardless of the 
menu display. Immediate commands 
are used primarily to change the display 
during the entry or editing of drawing 
entities. As an example, the user could 
enter a long line by zooming in to 
achieve the desired accuracy, entering 
the first endpoint, panning with an 
immediate command, and then entering 
the other endpoint. 

COORDINATES AND VIEWS 

The cadkey manual introduces two 
types of coordinate systems. World 
coordinates are in the drawing data¬ 
base, relative to the origin of the draw¬ 
ing world. This system is right-handed, 
Cartesian, and three-dimensional. View 
coordinates are derived from projecting 
the world coordinate system on the 
CAD system screen, cadkey provides 
eight predefined views, each repre¬ 
sented in a right-handed, Cartesian 
coordinate system: top, front, back, bot¬ 
tom, right, left, isometric, and axonom- 
etric. The program begins with the top 
view displayed, meaning that the X and 


82 


PC TECH JOURNAL 



















Y axes are visible—the X-Y plane is 
displayed—and the Z axis is perpendic¬ 
ular to the display. 

Views 1 through 6 each display two 
axes in the plane of the screen. The 
third axis is perpendicular to the 
screen. View 7 is an isometric view in 
which distances along all three axes are 
displayed as being equal. View 8 is an 
axonometric view in which distances 
along all three axes are visible, but are 
not foreshortened equally. 

Views are selected for display with 
the VIEW command, which can be in¬ 
voked from the top of the menu win¬ 
dow, from the status display, or with an 
immediate command. Views can be 
called only by number and use the stan¬ 
dard numbering system. 

In addition to the eight predefined 
views, the user can define an unlimited 
number of arbitrary views using VIEW 
DEFINE. A new view can be specified 
by naming three points in the viewing 
plane or by rotating the current display. 
The program remembers the viewing 
direction, or viewing plane orientation, 
and the scale, or zoom ratio, of the dis¬ 
play associated with each view. 

Views result from rotating and 
translating a viewing plane relative to 
the world coordinate system. Drawing 
entities retain their relationship to the 
world coordinate system regardless of 
the definitions of views, cadkey does 
not provide a perspective display, but as 
explained below, it does provide the 
tools for creating perspective drawings. 

The VIEW command is only one of 
cadkey’s display control commands. The 
standard commands, ZOOM and PAN, 
are supplied. Also provided are HALF 
and DOUBLE commands to halve or 
double the scale of the display, an 
autoscaling option to fill the screen 
with the drawing extents, the BACK-1 
command which is used to retrieve up 
to three previous displays, and the 
ZOOM WINDOW option. 

For those who cannot shake the 
notion of working at scale, the ZOOM 
command also has a SCALE option. The 
program initially presents a drawing 
display at a scale of 1.000. The SCALE 
option displays the same prompts as se¬ 
lecting the S status line does. Both 
prompt for the new scale and view cen¬ 
ter, offering current values as the 
defaults. The scale of 1.000 only roughly 
corresponds to a full-size display. The 
actual size of a full-scale display de¬ 
pends upon the size of the monitor—a 
19-inch model with the same resolution 
in pixels as a 13-inch model would dis¬ 
play the full-size drawing enlarged by a 
factor of approximately 1.5, with the 


horizontal and vertical measurements 
adjusted to the particular monitor. 

The entire drawing world cannot 
be displayed on the screen at one 
time. The largest scale of the display is 
limited to .001, even though scale 
values are displayed on the prompt line 
to six decimal places. 

The PAN command translates the 
viewing window in the viewing plane 
without changing the scale of the dis¬ 
play. The command is invoked from the 
DISPLAY menu or from immediate 
mode. PAN prompts for the new display 
center, rather than for a displacement 
vector. The new display center can be 
selected with the pointing device, or 
the coordinates can be typed in from 
the keyboard by the user. 

cadkey includes two commands in 
the DISPLAY menu that some systems 
classify as drawing aids: GRID and 
SNAP. The GRID command displays a 
grid of dots. The grid spacing can be 
set either to the snap interval or to arbi- 

I n addition to the eight 
predefined views, the user 
can define an unlimited 
number of arbitrary views 
using VIEW DEFINE. 



trary X- and Y-axis values. Toggling the 
grid off does not erase it; instead, the 
REDRAW command must be issued after 
the grid is toggled off. 

The SNAP command has the same 
options as GRID, with one exception. 
Whereas GRID provides for setting the 
grid size to the snap resolution, SNAP 
provides for setting the snap resolution 
to the GRID spacing. Thus, the grid can 
be aligned to a particular part feature, 
and then the snap resolution can be set 
to provide snap intervals using that fea¬ 
ture as the origin. This is very useful 
when a part has a number of entities 
related to a feature, such as the center 
of a hole, but not necessarily to other 
features, such as the edges of the part, 
which may be drawn relative to the 
drawing’s origin. 

cadkey provides a LEVEL (layer) 
facility for visibility control. The levels 
are numbered 1 through 256, with level 
256 reserved for the storage of objects 
that are not selected for display. 

The display status window includes 
two status indicators provided for level 


management: ALEV displays the current 
active level (the level number assigned 
to entities as they are created); MLEV 
displays the masking level (the level 
from which entities can be selected for 
deletion). If the masking level is set to 
0 (the new drawing default), entities 
can be selected from any visible level; if 
the masking level is set to a positive in¬ 
teger, entities can be selected only from 
that level; and if it is set to a negative 
integer, entities can be selected from all 
visible levels except that one. 

The LEVEL command has a MOVE 
option, which allows objects to be 
moved to a selected level. Entities can 
be selected on the screen or specified 
by their current level number. 

Note that colors and line types are 
not related to levels. A level can contain 
entities of various colors and line types. 

CREATING OBJECTS 

The basic drawing process begins with 
the CREATE command of the main 
menu. CREATE displays eight options: 
LINE, ARC, CIRCLE, POINT, RECTANG, 
FILLET, CHAMFER, and POLYGON. Each 
of these commands has one or more 
levels of submenus or prompts, and 
none is available as an immediate com¬ 
mand. They can be selected with the 
menu cursor, via the pointing device, or 
with the function keys. Thus, in the 
creation of drawing entities, cadkey is 
an entirely menu-driven system. 

Missing from the CREATE menu is 
the polyline entity found in many large 
CADD (computer-aided design and 
drafting) systems and at least one 
microcomputer CAD system, AutoCAD. 
(For a review of AutoCAD see “Drafting 
by Design,” Victor E. Wright, January 
1986, p. 50.) Polylines are lines with 
attributes other than endpoint co¬ 
ordinates. Some microcomputer CAD 
systems provide the ability to assign 
color, width, and line-type attributes to 
all drawing entities, eliminating the 
need for polylines. While cadkey pro¬ 
vides the color and line-type attributes 
to be assigned to all entities, it does not 
provide line-width attributes. Line width 
can be specified in pixels for display 
purposes, but all lines plot as single 
strokes. While this is not a loss for me¬ 
chanical engineers, it is for those users 
working in other disciplines, such as 
architectural drafting. 

The CREATE < entity> commands 
operate as modes rather than as com¬ 
mands that must be repeated for the 
creation of each entity. After descending 
the menu structure path consisting of 
the commands CREATE, LINE, ENDPTS, 
CURSOR, the user can enter an arbitrary 


JUNE 1986 


83 









MICROWAY’S 8087 RUNS 1-2-3"! 


MicroWay is the world’s leading retail¬ 
er of 8087s and high performance PC 
upgrades We stock a complete selec¬ 
tion of8087s that run at 5 and 8mhz. All 
of our coprocessors are shipped with a 
diagnostic disk and the best warranty 
in the business - one year! We also 
offer daughterboards for socketless 
computers (NEC PC) and 287Turbo 
which increases the clock speed of the 
80287 from 4 to 8 mhz. Our NUMBER 
SMASHER™ includes 640K ram. It will 
run the IBM PC at clock speeds up to 
10mhz and achieves a throughput of .1 
megaflops with 87BASIC/INLINE, Intel 



Fortran, or Microsoft Fortran. Software 
reviewers consistently cite MicroWay 
software and 8087 expertise as the 
best in the industry! Our customers fre¬ 
quently write to thank us for recom¬ 
mending the correct software and 
hardware to meet their specific needs 
They also thank us for our same day 
shipping! In addition to our own pro¬ 
ducts which support the 8087 and 
80287, we stock the largest supply of 
specialized software available For in¬ 
formation call us at 

617-746-7341 


Micro 

fl lay 


FASTBREAK™ employs the8087 to in¬ 
crease the speed of Lotus 1-2-3™ Ver¬ 
sion 1A or 1 A* by up to 36 to 1 $79 
FASTPAK™ includes FASTBREAK soft¬ 
ware and a 5mhz 8087.$179 

87SFL™ Microway’s Scientific Func¬ 
tion Library contains 170 scientific and 
engineering functions Callable from 
most 8087 compatible compilers First 
Language $250; Additional $100 
A2D-160™ Microway’s Data Acquisi¬ 
tion Board performs 160,000 12 bit 
Analog to Digital conversions per 
second! Includes software drivers The 
fastest 12 bit A to D board available. 
For the IBM PC or XT. $1295 


SPEED UP YOUR AT 
OR AT COMPATIBLE 
WITH 287TURBO” - 8mhz 


8087Support 

For the IBM PC, PC XT, PC AT and Compatibles. 


NUMBER SMASHER™ The World 5 s Fast¬ 
est Accelerator Card for the IBM PC, XT, and Com¬ 
patibles! Includes an 8086 and 8087 pair tested 
to 10mhz, and 640K bytes of high speed ram. 
Compatible with all software, operating systems 
and hardware! Your program speed is increased 
by a factor of 2.5 to 4.0. Floating point programs 
run up to 2.8 times faster on the PC than on an 
80287 equipped PC AT. One of the few accelera¬ 
tors on the market which is compatible with all 
EMS cards Includes FASTBREAK. $1099 

87/88Turbo™ is a stubby card which includes 
a clock calendar and a speed controller which 
changes the speed of your motherboard from 4.77 
to 7.4mhz. Its use requires your PC to have a soc¬ 
keted 8224. Typical speed increase is 1.6. Some 
programs run up to 2.5 times faster. The card over¬ 
comes the problem of slow hardware by slowing 
up only when slow devices are accessed and 
running at full speed otherwise. It includes an 
8087-2 . $350 

286T urboCache™ This new MicroWay ac¬ 
celerator uses 8K of cache memory and 80286/ 
80287 processors to provide an average speed 
increase of 3 to 1 for most programs Call for 
specifications, benchmarks and price. 

MATRIXPAK™ manages a MEGABYTE! 

Written in assembly language, our runtime pac¬ 
kage accurately manipulates large matrices at 
very fast speeds Includes matrix inversion and 
the solution of simultaneous linear equations 
Callable from RM or MS Fortran, MS Assembler, or 
87BASIC/INLINE.each $99 

87FFT™ Written in assembly language, per¬ 
forms Forward and Inverse FFTs on real and com¬ 
plex arrays which occupy up to 512K bytes of 
RAM. Also does convolutions, auto correlations, 
hamming complex vector multiplication, and com¬ 
plex to radial conversions. Callable from most 
8087 compatible compilers. $200 

87FFT-2™ performs two-dimensional FFTs 
Ideal for image processing Requires 87FFT $100 


Micro 

l/\lay 


P.O. Box 79 
Kingston, Mass 
02364 USA 
(617) 746-7341 


_ je Our Intel-Lotus specification 
memory card. The only EMS board which comes 
with two megabytes of cool-running low power 
drain CMOS ram installed. Includes ram disk, print 
spooler, disk cache, and EMS drivers For the IBM 
FC, XT, AT and compatibles.$549 

DFixer™ Our disk utility which thoroughly 
checks PC or AT hard disks for bad sectors and 
updates the MS DOS file allocation table accord¬ 
ingly. Solves the AT hard disk problem! ... $149 

DOptimizer™ Optimizes the way your hard 
disk or floppy stores its files Speeds up accesses 
by recombining fragmented files.$49 

DCache™ Our disk caching software speeds 
up your I/O by storing repetitively used tracks in 
memory. The amount of memory used can be 
selected in 64K byte banks.$49 

87 Verify™ For users who have to be absolutely 
sure of their results! This background task periodic¬ 
ally performs an 8087 accuracy and stress test$49 

87 MACRO/DEBUG " Contains all the 
pieces needed for writing 8087/80287 assembly 
code including 8087 macros, object libraries for 
commonly used functions, including transcen¬ 
dental trigonometries, conversions and Micro- 
Way’s debugger- 87DEBUG.$199 

OBJ -’’ASM™ A multipass object module trans¬ 
lator and disassembler. Produces assembly lan¬ 
guage listings which include public symbols, ex¬ 
ternal symbols and labels commented with cross 
references Ideal for patching object modules for 
which source is not available.$200 

87 BASIC™ includes patches to the IBM Basic 
or MS Quick Basic Compiler for USER TRANS¬ 
PARENT 8087 support Provides super fast per¬ 
formance for all numeric operations including trig¬ 
onometries, transcendentals, addition, subtrac¬ 
tion, multiplication, and division.each $150 

87 BASIC/I N LI N E™ converts the output of 
the IBM Basic Compiler into optimized 8087 
inline code which executes up to seven times fas¬ 
ter than 87 BASIC. Supports separately compiled 
inline subroutines which are located in their own 
segments and can contain up to 64K bytes of 
code. This allows programs greater than 128K! 
Requires the IBM Basic Compiler Version 1 and 
Macro Assembler. Includes 87BASIC $200 

MICROWAY UDI runs RTOS or RMX com- 
pilers under DOS.$300 


8087 UPGRADES 

All MicroWay 8087s include a one year warranty, 
complete MicroWay Test Program and accurate 
Installation Instructions 

8087 5mhz $109 

For the IBM PC, XT and compatibles 

8087-2 8mhz $149 

For Wang AT&T, DeskPro, NEC, Leading Edge. 

80287-3 5mhz $179 

For the IBM PC, AT and 286 compatibles 

80287-8 8mhz $295 

For the Tandy 3000 and ITT-XP. 

287T urbo™ 8mhz it you own an AT, 

Deskpro 286 or AT compatible, this is the card you 
need to get reasonable numeric performance. It 
plugs into your 80287 socket and includes a spe¬ 
cially driven 8mhz80287. The card comes in three 
configurations The IBM AT version includes a 
hardware RESET button.$395 

NEC V20, V30 call 

64K RAM Set 150ns $10 

256K RAM Set 150ns $34 

128K RAM Set PC AT $49 

JRAM, AST, INTEL. CALL 

DCache plus 64K ABOVE BOARD PS.375 

DCache plus 128K AT ABOVE BOARD.475 

Microsoft Fortran Version 3.31.209 

IBM Professional Fortran.565 

Ryan-McFarland Fortran Version 2.0.399 

FORLIB+ or STRINGS and THINGS.65 

Grafmatic for Fortran or Pascal.125 

Plotmatic.125 

NAG Fortran Library.300 

Lattice C.269 

Microsoft C or QuickBasic. CALL 

IBM Basic Compiler Version 2.0.465 

Summit BetterBASIC™. CALL 

IBM Assembler w/Librarian Version 2.0.155 

Microsoft Assembler Version 3.01 .99 

Microsoft Pascal Version 3.31.199 

STSC APL* PLUS/PC.450 

Phoenix Plink86 or Cosmos Revelation... CALL 

SPSS/PC+.595 

EPSILON Text Editor.195 

LABTECH NOTEBOOK.745 

MultiHalo (one language).189 

Fifth Generation FASTBACK.150 


CIRCLE 169 ON READER SERVICE CARD 





























































MECHANICAL CAD 


number of line segments without re¬ 
turning to the menu. Similarly, entering 
the commands CREATE, CIRCLE, and 
CIR+RAD allows quick entry of a num¬ 
ber of circles of the same radius (the 
program prompts for the radius only 
once after CIR+RAD is selected). 

The CREATE command options 
lack an orthogonal mode to force the 
entry of horizontal and vertical lines of 
specified length. Instead, cadkey pro¬ 
vides separate options for the entry of a 
vertical or a horizontal line, or one of 
each, through a specified point. These 
lines extend from top to bottom and 
side to side of the current display. A 
submenu command also is provided to 
enter lines perpendicular to a reference 
line, beginning at a specified point. 

Several of the commands in the 
CREATE menu (LINE, ARC, CIRCLE, 
POINT, and RECTANG) lead eventually 
to the position menu, which includes 
these 11 selections: CURSOR, POINT, 
ENDENT, CENTER, INTRSC, ALONGL, 
POLAR, DELTA, KEY-IN, BACK-UP, and 
ESCAPE. These features can be used for 
snapping to points on entities or groups 
of entities. For example, a line can be 
drawn from the end of one line to the 
end of another by entering the com¬ 
mand string CREATE, LINE, ENDPTS, 
ENDENT, then selecting the two exist¬ 
ing lines near the desired ends. The 
program locates the end of each se¬ 
lected line and constructs a line be¬ 
tween those two points (see photo 2). 

If the CURSOR option is selected 
from the position menu, points are en¬ 
tered at the current cursor position and 
in the current plane—at the current 
depth. When working in view 1, the top 
or plan view, keeping track of where 
objects are being created is a simple 
matter. The D symbol in the status 
window displays the elevation or Z-axis 
distance from the drawing world origin, 
and the X and Y indicators display the X 
and Y coordinates of the screen cursor 
in world coordinates. These coordinates 
happen to coincide with the view coor¬ 
dinate system. The other views are not 
so simple. In the front, back, right, and 
left views, the X and Y indicators do not 
change to X and Z or Y and Z to display 
world coordinates. Instead, they con¬ 
tinue to display the view coordinates, 
and the user must keep track of the ro¬ 
tation between the view coordinate sys¬ 
tem and the world coordinate system. 

In isometric, axonometric, and 
user-defined views, the viewing plane is 
not perpendicular to any of the three 
world axes, and the D indicator displays 
the length of a vector from the world 
origin to the viewing plane, perpendic¬ 


ular to the plane. A useful addition to 
cadkey would be the ability to toggle 
between the cursor tracking for world 
coordinates and for view coordinates. 

Although cadkey is a three- 
dimensional drafting system, it is not a 
modeling system for solids, cadkey’s 
drawing primitives are linear objects 
that can be grouped to form plane 
shapes. A good example is the MESH 
option used to model surfaces. 

cadkey can create a mesh of lines 
or points between two entities. If the 
selected entities are parallel lines, the 
mesh models a plane. If the selected 
entities are lines inclined to each other, 
the resulting surface is warped. Circles 
of the same diameter in parallel planes 
produce surfaces curved in one direc¬ 
tion; circles of different sizes produce 
truncated cones. These surfaces, howev- 

Although CADKEY provides 
the color and line-type attri¬ 
butes to be assigned to all 
entities , it does not provide 
any line-width attributes. 



er, are not stored in the drawing data¬ 
base as identifiable objects. Instead, the 
individual lines are created and stored. 
Thus, a surface created with the MESH 
command is only a series of line seg¬ 
ments (see photo 1). 

cadkey’s lack of hidden line re¬ 
moval processing and automatic per¬ 
spective generation also restricts its use 
as a 3-D modeling system. 

EDITING 

Because cadkey allows the active view¬ 
ing/creation plane to be oriented arbi¬ 
trarily and provides the ability to snap 
to features in front of and behind the 
viewing plane, virtually any shape can 
be created correctly on the first attempt. 
Nonetheless, editing is an essential 
function for any CAD system, cadkey 
provides the basic editing functions 
found in virtually all CAD systems—and 
a few not found in many of them. 

Among the basic editing commands 
is DELETE, a selection on the main 
menu. DELETE displays two options: 
SELECT and LEVEL. SELECT offers four 
ways to delete objects: SINGLE allows 
the selection of an arbitrary number of 
isolated entities; CHAIN provides for the 
selection of a number of line and arc 


entities connected end to end; WIN¬ 
DOW deletes objects contained com¬ 
pletely within the window, but not 
those extending outside—the window 
does not clip objects for partial dele¬ 
tion; and ALL DISP provides a means of 
deleting all items currently displayed. 

DELETES LEVEL option allows all 
items on a level to be deleted whether 
they are currently displayed or not. 

An important command related to 
the DELETE command is the RECALL 
option of the EDIT command; it is able 
to reclaim deleted entities (assuming 
that the deletion has been made in the 
current drawing session). 

Editing functions are also provided 
in the EDIT and X-FORM commands of 
the main menu. EDIT provides two 
options: BREAK and TRM/EXT. Unlike in 
many systems, BREAK is not a partial 
erase command; instead, it is used to 
transform a single entity into two or 
more entities and to assign new attri¬ 
butes to one or more of the new enti¬ 
ties. For example, a line passing 
through a circle can be broken so that 
the portion within the circle changes 
line type and/or color. This facility is 
particularly useful for indicating hidden 
lines in a drawing. 

EDIT’s TRM/EXT option provides 
for partial erasure and for extending or 
trimming two arbitrary lines so that 
they meet at a common point. TRM/EXT 
is particularly powerful in that it is not 
restricted to line segments, but can trim 
and extend two lines, an arc and a line, 
or two arcs (see photo 3). In addition, 
the command can trim or extend one 
object so that it meets another at any 
point on the second object. 

The X-FORM command is used to 
move, copy, scale, rotate, and mirror 
objects (see photo 4). Although cadkey 
has no explicit array command, as is 
available, for example, with cadvance 
(see “A CADD Solution,” Victor E. 
Wright, March 1986, p. 86), its five 
options in the X-FORM menu display 
submenus with the selections MOVE, 
COPY, and JOIN and can be used to 
create arrays. MOVE translates an object 
from one position to another; COPY 
makes not just one, but an arbitrary 
number of copies. JOIN performs in the 
same way as COPY except that in addi¬ 
tion to copying elements, it draws lines 
from each endpoint in the original to 
the copy’s respective endpoints. For 
example, copying a rectangle without 
JOIN would create two rectangles; using 
JOIN would create a cube. The MOVE, 
COPY, and JOIN options, in turn, 
display menus for the selection of enti¬ 
ties by pointing, selecting a chain of 


JUNE 1986 


85 













(Desktop Publishing Edition) 


£i£'»255£ 


Dr. HALO just became a publisher. 

For the first time, users of Dr. HALO II and the JLASER card have 
software that lets them merge text with grraphlcs and print 
instantly. No more waiting to see how your report will turn out, 
press a button on your mouse or keyboard and it prints instantly, 
just like a snapshot. 

Dr. HALO DPE has all the powerful features of Dr. HALO II with 
some new twists for desktop publishing. Dr. HALO DPE supports 
the JLASER and several advanced printers, has a new coordinate 
display pop-up menu, and works with the new Genius VHR graphics 
board and monitor. 

This entire, unretouched, page was created using Dr. HALO DPE and 
the JLASER card and printed on a Hewlett Packard LaserJet Plus. 

The text was originally entered in WordStar, then read into Dr. 

HALO DPE in the selected typefaces. The graphics were edited 


Easy Icon Menus 
WYSIWYG 
■Virtual Page 

•Complete Painting Functions 
Over 20 fonts 

■Image and ASCII Text Merging 
•Document Compostion 
Advanced Laser Printer Support 
Support for 90 Graphics Devices 
(including IBM EGA) 

Grab and Show Program Modules 
Instant "Snapshot" Printing 


For more information, c 
Media Cybernetics. Inc. 
8484 Georgia Avenue 
Suite 200 

Silver Spring, MD 2091C 
(301) 495-3305 or (800) 






































MECHANICAL CAD 


PHOTO 3: TRM/EXT Command 


TRIM/EXTEND 

TRIM/EXTEND 

DOUBLE 

FIRST 

BOTH 

TRIM 

MODAL 

DIVIDE 

END 

TRIM/EXTEND 

RESULT 


The TRM/EXT command allows lines to be trimmed or 
extended in several different ways. It is not restricted to use 
with line segments but also can be used with arcs. 


PHOTO 4: X-FORM Command 



The X-FORM command can be used to move, copy, scale, 
rotate, and mirror objects. This is particularly powerful with 
respect to CADKEY’S three-dimensional capabilities. 


entities, windowing, or selecting all 
objects currently displayed. 

Creating a rectangular array is a 
two-step process, because the original 
set of entities must first be copied in 
one direction, then that row/column 
must be copied in the second direction. 
This apparent disadvantage is out¬ 
weighed by the ability to create not 
only rectangular (two-dimensional) 
arrays, but also three-dimensional ar¬ 
rays, which requires only a third step. 
Arrays can be created along a vector de¬ 
fined during entry of the command. 

X-FORM’s SCALE option provides 
the ability to create a series of scaled 
copies of one or more entities, as well 
as moving and scaling an object at the 
same time. This allows rapid construc¬ 
tion of pyramid objects; creation of sets 
of entities, which differ only in scale, 
from a single pattern; and rapid con¬ 
struction of perspective views by build¬ 
ing an array of scaled, tapered elements 
using vanishing points as references. 

The powerful 2D/ROT command of 
the X-FORM menu allows the construc¬ 
tion not only of circular arrays of plane 
figures, but also of toroidal shapes in 
three dimensions (see figure 1). With a 
combination of primitive shapes, 
meshes, and the 2D/ROT command, the 
user can model toroids, spheres, 
domes, and arbitrary surfaces produced 
by rotating a shape around an arbitrari¬ 
ly inclined axis. 

DETAILING 

cadkey’s main menu includes a selec¬ 
tion, DETAIL, to access a group of com¬ 
mands that provide the facilities for 
automatic dimensioning, cross hatching, 


and drawing notes—all essential ele¬ 
ments of a production drafting system. 

Automatic dimensioning is accom¬ 
plished with the DIMENSN command. 
This command provides six options: 
HORIZTL, VERTICL, PARALEL, RADIUS, 
ANGULAR, and DIAMETR, which should 
cover all needs. These options prompt 
for the two witness line origins and the 
location of the dimension line, display a 
calculated dimension for verification, 
and draw the witness lines, dimension 
line, and dimension text if accepted. To 
speed the task of entering the witness 
line origins, the options display the 
position menu, providing the ability to 
snap to features of drawing entities— 
endpoints, centers, intersections. 

As with most microcomputer-based 
CAD systems, the dimension is not asso¬ 
ciated with the drawing entity to which 
it refers. The user can dimension an 
entity and then move it without affect¬ 
ing the location of the dimension. How¬ 
ever, the dimension is treated as a unit 
for some functions, particularly those 
editing functions contained in the DE¬ 
TAIL menu and submenus. 

Other CAD systems may allow edit¬ 
ing of dimension text, but not many 
others allow the dimension to be 
treated as a unit. In these systems, the 
fastest method often is to erase a 
dimension and reenter it rather than to 
modify it. On the other hand, erasing a 
dimension that is not treated as a unit 
may be difficult, because the elements 
of the dimension may be superimposed 
on other drawing entities. 

In fact, cadkey does not treat di¬ 
mensions in the same manner as it 
treats other drawing entities. The edit¬ 


ing commands that are used to move, 
copy, and join entities such as lines, cir¬ 
cles, and arcs generally do not recog¬ 
nize dimensions. For example, X-FORM 
COPY WINDOW copies all the lines, cir¬ 
cles, and arcs within the window, but 
not the dimensions. This method of 
operation is desirable because dimen¬ 
sions should not be copied, translated, 
and rotated blindly based on geometric 
relationships to other drawing entities. 
Dimensions should be disassociated 
from drawing entities unless they are 
actually attributes of the entities. 

Various aspects of dimensions can 
be modified with the CHANGE com¬ 
mand. It allows tolerances to be altered 
(which shortens the dimension text), 
text attributes (font, height, aspect ratio, 
and orientation) to be changed, text po¬ 
sition to be adjusted, number of deci¬ 
mals displayed to be changed, and 
arrows to be switched from inside the 
witness lines to outside. All of these 
options contribute to cadkey’s ability to 
produce attractive dimensions. 

The DIM SCL option of the 
CHANGE command provides another 
useful feature. This option leaves the 
dimension as is, with one exception—it 
scales the value of the dimension text. 
Therefore, a drawing of a pan can be 
adapted to portray a scaled version 
simply by scaling the dimension values. 
Dimension values can also be changed 
with DIM VAL, which allows new 
dimension text to be entered. 

While the CHANGE command 
modifies existing dimensions, the SET 
command modifies the parameters used 
in the entry of new dimensions, cadkey 
produces dimensions in accordance 


JUNE 1986 


87 























How we 

improved Structured 
Query Language 


Actually, we didn’t change a thing. 

We just combined it with the best 
relational database management system. 

Introducing INFORMDC-SQL. 

It runs on either MS™-DOS or UNIX™ 
operating systems. And now with IBM’s 
SQL as part of the program, you can ask 
more of your database. Using the emerg¬ 
ing industry-standard query language. 

To make your job easier, INFORMIX- 
SQL comes with the most complete set 
of application building tools. Including a 
full report writer and screen generator. 
Plus a family of companion products that 
all work together. 

Like our embedded SQLs for C and 
COBOL. So you can easily link your pro¬ 
grams with ours. File-it!7 our easy-to-use 
file manager. And C-ISAM,™ the de facto 
standard ISAM for the UNIX operating 

INFORMIX is a registered trademark and RDS, C-ISAM and File-it! are trademarks of 
Relational Database Systems, Inc. IBM, UNIX and MS are trademarks of International 
Business Machines Corporation, AT&T and Microsoft, respectively. © 1985, Relational 
Database Systems, Inc. 


system. It’s built into all our products, 
but you can buy it separately. 

And when you 
choose RDS, you’ll be 
in the company of 
some other good companies. 
Computer manufacturers 
including AT&T, Northern 
Telecom, Altos and over 60 others. And 
major corporations like Anheuser Busch 
and The First National Bank of Chicago. 

Which makes sense. After all, only 
RDS offers a family of products that work 
so well together. As well as with so many 
industry standards. 

So call us for a demo, a manual and 
a copy of our Independent Software 
Vendor Catalog. Software vendors be sure 
to ask about our new “Hooks” software 
integration program. Our number: 
415/322-4100. 

Or write RDS, 4100 Bohannon Drive, 
Menlo Park, CA 94025. 

And well show you how we took a 
good idea and made it better. 



RELATIONAL DATABASE SYSTEMS, INC. 


CIRCLE NO. 143 ON READER SERVICE CARD 




















MECHANICAL CAD 


PHOTO 5: Dimension Standards 


to ANSI or ISO standards in ENGLISH or METRIC 

. /-<!> .250 


HORIZONTAL 

VERTICAL 

PARALLEL 

RADIUS 

ANGULAR 

DIAMETER 

NOTES 

LABELS 

TOLERANCING 


The dimensions on a CADKEY drawing are quite versatile. 
The size and other attributes can be changed, although 
mixed units such as feet and inches are not possible. 




The Ctrl-Y command can be used to produce check plots on 
an Epson printer. The toroid shown above was created by 
using the transform command on a polygon shape. 


with ANSI standards, but can be set to 
follow ISO standards using the SET 
command (see photo 5). SET provides 
extensive control of the parameters for 
the appearance of dimensions—arrow 
orientation, witness line visibility, deci¬ 
mals displayed, tolerance, display of 
leading and trailing zeroes, and text 
height, font, alignment, and aspect. 

The UNITS option to the SET com¬ 
mand allows units to be scaled to pro¬ 
duce the correct numerical values for 
inches, millimeters, feet, centimeters, 
yards, meters, or user-defined values. 
The program does not suffix dimension 
values with unit symbols and does not 
support mixed formats such as feet and 
inches. SET UNITS does not rescale 
existing units, but sets a current scaling 
factor that applies only to all dimen¬ 
sions entered thereafter. 

The UPDATE option allows certain 
attributes to be globally set to the cur¬ 
rent set of attributes. The affected attri¬ 
butes are height and font of notes and 
labels; and height, font, decimal places, 
dimension scale, trailing and leading 
zero display, tolerance mode, and toler¬ 
ance values. The changes can be made 
to single or chained objects, objects in a 
window, and all objects displayed. 

Dimensions are visible only in the 
view in which they are created. This 
means that a three-dimensional object 
can be dimensioned and plotted in all 
views without the distraction of edge-on 
dimensions being displayed in each 
one. If the object is dimensioned in the 
three orthographic views (isometric, ax- 
onometric, or user-defined), the views 
can be plotted from the same drawing 
without the distraction of dimensions 
being displayed in the various planes. 


In addition to dimensioning, the 
DETAIL menu includes an X-HATCH op¬ 
tion that automates the process of cross- 
hatching areas enclosed by lines and/or 
arcs (or circles). As with most paint, 
area fill, or hatching processes, the area 
must be enclosed or the hatching will 
leak out and fill the entire drawing. 

Nested enclosed areas—called 
islands in the cadkey manual—can be 
selected for hatching in one of three 
ways: alternating areas are hatched, all 
areas are hatched, or areas are hatched 
in an arbitrary sequence. The hatching 
sequence is determined by the selec¬ 
tion of the hatching boundaries. 

As with dimensions, hatching pat¬ 
terns are visible only in the view in 
which they are created; this eliminates 
distractions in other views. Hatching 
patterns are treated as single entities, 
but they are not associated with the 
hatching boundaries. Therefore, the pat¬ 
terns can be moved or rotated as units. 
Holes can be created in hatching pat¬ 
terns by selecting the outer boundary 
and a nested inner boundary, hatching 
the annular space, then deleting the 
entities making up the inner boundary. 

cadkey is supplied with seven 
hatching patterns—not an extensive 
library, but the essential patterns for 
mechanical drafting are available: brick, 
steel, copper, alloys, aluminum, rubber, 
and marble. A simple pattern of hori¬ 
zontal lines also can be selected. Hatch¬ 
ing patterns can be created at specified 
scales and rotation angles. 

Notes and labels are handled in 
cadkey’s DETAIL menu with the NOTE 
and LABEL options. The entities created 
by these two commands have two prin¬ 
cipal differences: labels have leaders 


and arrowheads and must be typed in 
from the keyboard, whereas notes do 
not have leaders and can be typed in or 
read from a disk file. Labels are limited 
to 256 characters including carriage re¬ 
turns. Notes are limited to 256 charac¬ 
ters if typed in or to 1,024 characters if 
read from disk. The ability to read 
notes from a disk file greatly eases the 
use of key notes and boilerplates, be¬ 
cause these files can be created exter¬ 
nally with ordinary text editors; no con¬ 
version process is required prior to 
reading the file into the drawing. 

The program is furnished with 
three fonts, BOX, SLANT, and BOLD, * 
which can be changed with the DETAIL 
SET TEXT command. Dimension and 
note fonts can be set independently. 
Changing the font partway through a 
drawing alters only subsequent entries. 

PRINTING AND PLOTTING 

Plotting in cadkey is accomplished with 
a separate program, PLOTFAST. Within 
the main program, the FILES PLOT 
command is used to create a plot file 
that is used by the plotting program as 
plotting data. 

The FILES PLOT command has two 
options: LIST and SAVE. LIST displays 
the plot files in a selected subdirectory. 
Each entry includes the file name, file 
size, and date and time of creation. If 
the entire list does not fit on one 
screen, the program pauses until the 
user presses the Enter key. 

The SAVE option prompts for a file 
name and creates a plot file from the 
current drawing database. If the current 
plot directory already contains a plot 
file with the specified name, the old file 
is overwritten, with no prompt. 


JUNE 1986 


89 
























DART - The first CAD computer 
with a super high performance 
AT™ Compatible. 


System 286 - The first high 
speed AT priced below the 
IBM XT™. 


The ADVANCED LOGIC RESEARCH computer has been tested for IBM compatibility with PHOENIX’S com¬ 
patibility test suite using the PHOENIX AT-COMPATIBLE ROM BIOS, and the PC-COMPATIBLE ROM BIOS. 


WE DONT 
THINK YOUR 
PERFORMANCE 
SHOULD BE 
LIMITED 
BY THE 
‘STANDARD’ 

At ALR we don’t think your performance should be Explore the opportunity of the System 286 - The first 
limited by the ‘Standard’. So preoccupied are today’s high speed AT below the price of an IBM XT™. The 
computer makers with meeting the ‘Standard’, they low cost of this system did not reduce the performance, 
seem to have overlooked the opportunity to do with the cpu speed of 8 MHz and co-processor speed 
something much more worthwhile. 0 f 5 MHz. This System 286 is ready to calculate spread 
Namely, the concept of improvement beyond that sheets and sort data base in a flash! 

‘Standard’ acceptable level. 



Option I/O device? That usually implies you need it and 
it costs more. ALR believes a computer needs to 
interface with at least a printer and in most cases 
modems, plotters and other computers, so we design 
our systems to include more standard I/O. 



6- 


5- 

Standard 

4- 

I/O 

3- 

Devices 

2- 


1- 


PC/AT 


SYSTEM 

286 




Printer 

Port 


Printer 


Serial 


Port 


Port 2 


Serial 


Serial 


Port 1 


Port 1 

Clock 


Clock 


Clock 

Calendar 


Calendar 


Calendar 

1.2 MB 


1.2 MB 


12 MB 

Floppy 


Floppy 


Floppy 

IBM 

ALR 

DART 


Examine the DART The first CAD computer with a super 
high performance AT™ Compatible. The DART system 
is powered by a 10 MHz 80286 cpu with support for 
an 8 MHz 80287 math co-processor, when compared 
to the IBM® AT’s 6 MHz cpu and 4 MHz co-processor, 
the DART system will process your next CAD design 
in almost half the time, with DIRECT ACCESS 
RESPONSE TIME (DART). 



PC/AT SYSTEM DART 
286 

‘Based on the Norton Utility Si-System Information Command. 



PC/AT SYSTEM 
286 

LIST PRICES AS OF APRIL 1986 

The concept of having enough memory is misleading. 
It seems yesterday’s 64K of memory was enough. 
Today, computers require at least 512K in order to run 
popular programs such as Symphony™ or Framework^ 
The result? ALR System 286 and DART system both 
have four times the memory capability built into its 
‘motherboard’ so you don’t have to pay for it tomorrow. 


High performance and more features usually results 
in a more expensive system. However, the ALR System 
286 and DART system does not match the ‘Standard’ 
price and this is one category we’re glad to be con¬ 
sidered ‘sub-standard’. 


Let one of our sales engineers or dealers show you 
the ALR System 286, DART system, Turbo XT and AT 
Hirise IBM compatible systems that are designed to 
limit your cost not your standard of performance. 

CIRCLE NO. 199 ON READER SERVICE CARD 

ADVANCED LOGIC RESEARCH, INC. 


10 CHRYSLER 
IRVINE, CA 92714 
(714) 581-6770 
ALR IN CANADA 
416-229-6477 


>119 


ENGINEERING ADVANCED COMPUTERS 


IBM® is a registered trademark of International Business Machines Corporation. IBM PC/AT and IBM PC/XT are registered trademarks of International Business Machines Corporation. 































































MECHANICAL CAD 


The file created with the FILES 
PLOT SAVE command is a text file in 
the UNIPLOT file format. This is an 
ASCII hie containing integer and float¬ 
ing-point data used by the plotting pro¬ 
gram. Plot hies can be edited with text 
editors or word processing programs to 
change attributes and plotting data. 

In the standard conhguration, plot¬ 
ting is accomplished by running the 
PLOTFAST program, which displays a 
menu and prompts for the name of the 
hie to be plotted. The parameters 
offered include plotter type, media size, 
plotting scale, X and Y offsets, serial 
port, pen velocity, and baud rate. 

PLOTFAST supports several plotter 
series, including the Hewlett-Packard 
HP7400, HP7500, and 758x series, and 
the Houston Instrument DM/PL and 
other plotters that use the same proto¬ 
col, such as Nicolet Zeta and Roland. 

Once the plotting parameters are 
entered, three options are available: 
PLOT, RESTART, and EXIT. PLOT is the 
default response, and pressing Enter or 
Esc when it is displayed starts the plot¬ 
ting process. As the program sends data 
to the plotter, it displays an item count 
to indicate the plotting progress as well 
as the current pen number. 

The program supports both multi¬ 
pen and single-pen plotters for multi¬ 
pen plots. The Houston Instrument sin¬ 
gle-pen plotters pause for pen changes, 
so the pen number display is useful. 
PLOTFAST searches the drawing for all 
entities to be drawn with pen number 
1, then pen number 2, etc. to minimize 
pen changes. The ability to plot with 
multiple pens, even on a single pen 
plotter, is noteworthy, cadkey does not 
support line widths except on the 
screen display, so pens of different 
widths must be used to plot lines of 
different weights. 

The cadkey literature recommends 
that plotting be done from a separate 
computer than the one used for the 
CAD workstation. This is a valid point 
because the speed of the plotting pro¬ 
cess is determined by the speed at 
which the plotter can accept data, not 
by the speed of the computer or plot¬ 
ting software. The PLOTFAST program 
requires 128KB of RAM, but does not 
require a graphics board or the soft¬ 
ware interface module for operation. 

Screen dumps to a printer that ac¬ 
cepts Epson-type control codes can be 
generated from within cadkey. The pro¬ 
gram prints a copy of the screen— 
menus and all—scaled to fit an 8^-by- 
11-inch page, with the plot rotated 90 
degrees (see figure 1). If the printer is 
off-line when the print job is requested, 


the user is sent to DOS with a divide 
overflow error. Printer plots are useful 
for cursory checks or illustrations. 

SYMBOL LIBRARIES 

A feature of a microcomputer-based 
CAD system that is essential for produc¬ 
tion drafting is the ability to define and 
use symbol libraries. Following the 
scheme established by the name of the 
basic drawing file —part file — cadkey 
calls a symbol library file a pattern file. 
Only one part file can be active at a 
time, but pattern files can be merged 
with a current part file, or drawing. 
Pattern files can be inserted into the 
current part file at arbitrary locations, 
then scaled and rotated. 

The FILES command of the main 
menu provides the facilities for creating 
and retrieving pattern files. The com¬ 
mand FILES PATTERN CREATE creates a 
pattern file, cadkey prompts the user to 
select the entities that will make up the 
pattern. Four methods of entity selec- 

T \e process of creating a 
pattern file does not 


remove the selected entities 
from the screen and always 
creates a disk file. 



tion are available—SINGLE, CHAIN, 


WINDOW, and ALL DSP. After the enti¬ 
ties are selected, the program prompts 
for a base point, which will be used to 
reference the insertion of pattern in¬ 
stances. Finally, the user is prompted 
for the pattern file name. 

The program places the pattern file 
in a directory, which is specified in the 
pattern file name as a path, or in the 
default pattern file subdirectory, which 
is defined in the configuration process. 
The path and file name string is limited 
to 40 characters. 

The process of creating a pattern 
file does not remove the selected enti¬ 
ties from the screen and always creates 
a disk file. This ensures that all defined 
patterns are available to all part files. 

Patterns are inserted in part files 
with the FILES PATTERN RETRIEVE (or 
LST/RTV) commands. The program 
prompts for a pattern file name, an in¬ 
sertion point, a scale factor, and a rota¬ 
tion angle. The pattern files available in 
any directory can be displayed and se¬ 
lections made with the pointing device. 


Patterns are not single entities. 
When a pattern is retrieved and placed 
into a cadkey part file, it is not refer¬ 
enced. Instead, it is copied into the part 
file as a group of separate entities. Each 
entity can be moved, rotated, scaled, de¬ 
leted, or edited as can any other entity. 
Therefore, if a complex pattern is in¬ 
serted incorrectly, repositioning it—or 
even deleting it—can be difficult. 

MACRO FACILITY 

cadkey provides a macro facility in its 
CADL (cadkey Advanced Design Lan¬ 
guage) files. A CADL file is an ASCII text 
file—actually a database file consisting 
of variable length records. Each record 
is a key word—the name of an entity or 
a command, with the required param¬ 
eters or arguments. CADL files can 
describe a number of entities, the com¬ 
mands to manipulate the display, or 
both, and they can be executed from 
the FILES menu, with the drawing 
adjusted accordingly. CADL files are 
created in one of two ways: they are 
extracted from the database or gener¬ 
ated with a text editor. A combination 
of the two methods is possible. 

Drawing entities in a CADL file can 
be located in either world or view 
coordinates. The set of data primitives 
includes view rotation matrices. The 
drawing entities allowed are arcs, cir¬ 
cles, lines, points, and text strings. Lines 
and points can be entered in world or 
view coordinates. However, an arc or 
circle cannot be specified in the same 
manner. A circle, for example, requires 
a scalar value for the radius and the 
coordinates of three points to deter¬ 
mine the plane in which the circle lies. 

The view record of a CADL file sets 
the plane in which circles and arcs are 
contained before they appear in the file. 
A view record needs to appear only 
when the view changes, so several cir¬ 
cles and arcs may follow the record. 

The CADL file produced by the 
FILES CADL OUTPUT sequence pro¬ 
vides a static description of a drawing. 
The file also can contain commands that 
simulate series of keystrokes entered 
from the keyboard. The only commands 
supported are those for display control. 
The ability to put program instructions 
in the CADL file is not available in the 
current release of cadkey, but Micro 
Control plans to offer this in its next re¬ 
lease, scheduled for release in May. 

As currently implemented, CADL 
files can be used for two purposes: ex¬ 
porting coordinate data to external pro¬ 
grams for nongraphic processing and 
importing data from external programs 
for the display of design data. For ex- 


JUNE 1986 


91 











TECH PERSONAL COMPUTERS is a full service manufacturer of Micro Computer Products and offers a 
complete line of Desktop, Portables and Multi-User Computer Systems as well as an accessory 
line of over one hundred enhancement products. TECH PERSONAL COMPUTERS are 
all backed by a full one year warranty with additional maintenance coverage 
and extended maintenance contracts available through Mohawk 
Data Sciences. For more information concerning hundreds 
of MDS Service Centers throughout the United 
States, contact TECH PERSONAL 
COMPUTERS at (714) 754-1170. 


Tech PC Desktop computers are 
engineered to exceed industry- 
standards. Each unit is housed in 
an attractive and sturdy steel 
case designed to blend in with 
the office or home environment 
and at the same time protect the 
system components from damage. 
The units’ built in fans are de¬ 
signed for maximal cooling and 
minimal noise. A full compliment 
of expansion slots and extra 
capacity power supply give each 
of the Four Desktop models the 
ability to add additional acces¬ 
sory boards and peripherals to 
the unit without difficulty. The 
Intel 8088 and 80286 micro¬ 
processor based motherboards 
used in the Tech Personal 
Computers meet or exceed IBM 
compatibility standards with 
respect to processing speed and 
memory capabilities. All of the 
four desktop models are de¬ 
signed to function for a wide 
variety of people in a wide 
variety of situations. 


TECH PC DESKTOP COMPUTERS are avail- 
able now in 4 different base models: 

TECH PC/XT DESKTOP.$ 749 

Options: 

Tech PC/XT with 20MB Hard Disk . .$1249 
Tech PC/XT with 20MB Hard Disk, 
Monochrome Monitor, Hercules® Compatible 
Mono/Graphics Card.$1449 

TECH TURBO PC/XT DESKTOP.$899 

Options: 

Tech Turbo PC/XT Desktop with 20MB Hard 

Disk.$1399 

Tech Turbo PC/XT 20MB Hard Disk, 
Monochrome Monitor, Hercules® Compatible 
Mono/Graphics Card.$1599 


TECH PC/AT DESKTOP.$1699 

Options: 

Tech PC/AT with 20MB Hard Disk ... $2099 
Tech PC/AT with 20MB Hard Disk, 


Monochrome Monitor, Hercules® Compatible 
Mono/Graphics Card.$2299 

TECH TURBO PC/AT DESKTOP.$1799 

Options: 

Tech Turbo PC/AT Desktop with 20MB Hard 

Disk.$2199 

Tech Turbo PC/AT with 20MB Hard Disk, 
Monochrome Monitor, Hercules® Compatible 
Mono/Graphics Card.$2399 


All TECH PC DESKTOPS available with tape 
backups, hard disks up to 280 megabytes, 
networking systems, and hundreds of other 
hardware and software accessories. 


714 / 754-1170 

circle NO. 179 on reader service card 2 131 S. Hathaway, Santa Ana, California 92705 

TELEX: 272006 Answer Back-TECH FAX: 714/556-8325 


ENGINEERED 

IQ EXCEED 
INDUSTRY 
STANDARDS 
























MECHANICAL CAD 


ample, the user could draw a structural 
framework in three dimensions and ex¬ 
port the coordinate data of all the mem¬ 
bers via a CADL file. An external struc¬ 
tural design program could scan the 
CADL hie to determine nodes and con¬ 
nectivity of the framework, prompt the 
designer for loads and joint types, and 
size the structural members. Then, the 
structural design program could pro¬ 
duce another CADL hie, containing not 
only the original geometry, but also text 
to indicate member sizes and joint 
types. The CADL hie produced by the 
structural program can then be exe¬ 
cuted, saved as a part hie, and plotted. 

At the present time, CADL hies can¬ 
not perform the same functions as do 
macro facilities in some CAD programs. 
When the program instructions are im¬ 
plemented, however, a true macro fa¬ 
cility should be available. 

DRAWING TRANSLATION 

cadkey’s developers support two recog¬ 
nized standards for the interchange of 
drawing data, in addition to providing a 
readable form of their own database. 
These facilities allow for the free inter¬ 
change of drawing data from cadkey to 
other CAD programs—both micro- 
computer-based and larger systems. 

DXF. The DXF hie is the Drawing Inter¬ 
change Format that was originated by 
CalComp’s AutoCAD. Although cadkey 
and AutoCAD are competitors, cadkey’s 
creators have wisely chosen to support 
the DXF hie method of drawing data 
interchange. The cadkey program pro¬ 
vides a means to save part hies in the 
form of DXF hies and to load or re¬ 
trieve data from DXF hies. 

Saving and loading DXF hies are 
supported to different degrees, cadkey 
can load a DXF hie containing the fol¬ 
lowing entries: ARC, BLOCK, CIRCLE, 
ENDBLK, ENDSEC, INSERT, LINE, 
POINT, POLYLINE, SEQEND, SOLID, 
TEXT, TRACE, and VERTEX. This assort¬ 
ment of entities allows most of a DXF 
hie created by AutoCAD or another pro¬ 
gram supporting DXF hies to be im¬ 
ported correctly, cadkey generally im¬ 
ports the DXF entities into the current 
level and assigns the current color, line 
type, and line width. (Line width is cur¬ 
rently associated only with the display.) 

Some entities cannot be imported 
correctly, because cadkey and AutoCAD 
do not describe them in the same man¬ 
ner. For example, AutoCAD allows for 
blocks to be inserted with different X 
and Y scale factors, providing control of 
aspect ratio, whereas cadkey’s patterns 
are inserted with a single scale factor 
that applies equally to all three dimen¬ 


sions (AutoCAD has the same restriction 
with respect to the insertion of blocks 
that are preceded by the * character). 
Arcs and circles contained in DXF block 
references with unequal X and Y scale 
factors are not imported, because cad- 
key has no way to represent objects 
with different X and Y scale factors and 
no primitive data type for ellipses. Lines 
and points in the same block references 
can be transformed so that they are rep¬ 
resented correctly, and, therefore, they 
can be imported. 

Presumably because AutoCAD has 
only a single coordinate system and is 
basically an enhanced two-dimensional 
system, cadkey considers all DXF co¬ 
ordinate data to be view coordinates, 
rather than world coordinates. (Auto¬ 
CAD’s data structure does not provide 
for objects in planes inclined with re- 

OtADKEY’s creators have 
wisely chosen to support the 
DXF file method of drawing 
data interchange. 



spect to the X-Y plane, only for planes 
parallel to the X-Y plane, so it has no 
straightforward way to interpret DXF 
coordinates as world coordinates.) 
However, the user should be able to as¬ 
semble a three-dimensional cadkey 
model by importing enough ortho¬ 
graphic and auxiliary views. 

DXF files created with cadkey are 
limited subsets of the complete DXF file 
specification, again, because cadkey and 
AutoCAD do not have completely paral¬ 
lel data structures. Three options are 
available for selecting the entities that 
will be placed in the DXF file: SELECT, 
LEVEL, and ALL ENT. SELECT prompts 
for the selection of some or all of the 
entities visible on the screen. Selection 
of visible entities has a few inconsisten¬ 
cies, although the scheme is workable 
once understood. Selecting single enti¬ 
ties works as expected unless several 
entities are stacked, in which case cad- 
key indicates that an entity has been 
found, but nothing is output. Selecting 
entities with a WINDOW or ALL DSP op¬ 
tion exports stacked lines, lines perpen¬ 
dicular to the viewing plane, and circles 
and arcs in planes that are parallel to 
the viewing plane. The coordinates of 
the lines and points, regardless of the 
view, are transferred with world X-Y 
coordinates, and the coordinates of cir¬ 


cles and arcs in the current view plane 
are transferred with view coordinates— 
as if they were world coordinates. 

Because circles and arcs are speci¬ 
fied with centers that have X-Y coordi¬ 
nates and radii that have a scalar value, 
the center of the circle or arc will be in 
a predictable place when the drawing is 
transformed into the DXF file. However, 
the value for the radius is taken regard¬ 
less of the displayed view used. This 
means that the representation of the cir¬ 
cle will be wrong in the transformed 
file unless the circle or arc was in the 
same plane as the transformed view. 

One last note on the use of DXF 
files: cadkey creates a minimal DXF file, 
including only the data that can be asso¬ 
ciated with the POINT, LINE, ARC, and 
NOTE (text) entities. The header, table, 
and block sections of the DXF file are 
empty in the output file. Only the enti¬ 
ties section contains entries. 

IGES. Whereas the DXF file is the 
industry-accepted method of interchang¬ 
ing drawings from one microcomputer- 
based CAD system to another, micro-to- 
mainframe exchange is normally accom¬ 
plished with the IGES standard. The 
cadkey package supplies an IGES trans¬ 
lator as an extra cost option. 

GEOMETRIC ANALYSIS 

cadkey provides a group of three 
options under the CONTROL VERIFY 
command that should prove useful in 
design work at the keyboard: PERIM, 
AREA/CN, and MOMENT. 

PERIM calculates the perimeter of 
circles, arcs, and arbitrary line strings. It 
has two options: CIRCLE prompts for 
the selection of a circle or arc, then dis¬ 
plays the perimeter of the circle pro¬ 
jected on the current view plane, as 
well as the actual perimeter; GENERAL 
displays the selection menu, which as 
with other commands allows the selec¬ 
tion of isolated objects, chains of ob¬ 
jects, all objects in a window, or all ob¬ 
jects currently displayed. Again, the pro¬ 
gram displays the perimeter projected 
on the current view plane and the ac¬ 
tual length of the selected objects. 

AREA/CN calculates the area and 
centroid of a closed shape or of the 
segment of a circle formed by adding a 
temporary chord to an arc. The com¬ 
mand provides three options: CIRCLE, 
POLYGON, and GENERAL. POLYGON 
and GENERAL require the selection of a 
closed shape, POLYGON for lines only, 
and GENERAL for lines and arcs. The 
entities that form the boundary must 
meet precisely. When a valid selection 
has been made, the program displays 
the area on the prompt line. Pressing 


JUNE 1986 


93 










ONLY SEATTLE TELECOM & DATA 
solves the expanded memory and 
speed problems of the IBM PC/XT. 

• 2 MB EMS memory •Supports both 8 and 16 bit 



• Fully compatible with 
the industry-standard 
Lotus/Intel/Microsoft 
(LIM) Expanded 
Memory Specifica¬ 
tion (EMS), version 3.2 

• Expandable up to 8 
megabytes. 

• Compatible with all 
major productivity 
software such as Lotus 
1-2-3, Symphony, 
Framework II. 



Top Board processes EMS- 
applicationsuptothreetimesfaster 
than any other EMS board on the 
IBM PC XT. Top Board is the only EMS 
expanded memory board with 
both an 8 and 16 bit data bus and 
can function across the 16 bit wide 
bus with the STD-powered PC-286 
card. 

Top Board frees you from the 
memory limits of 640K. Expand 
memory up to 2 MB with the confi¬ 
dence of LIM-compatible stand¬ 
ards. Unleash thisfull potential with 
processor speeds up to 12 MHz 
when used with our PC-286 board 


across the built-in, 16 bit data bus to 
the Top Board. 

Expect performance that 
exceeds industry standards. To¬ 
gether, the PC-286 and Top Board 
perform beyond their individual 
state-of-the-art designs. Your CAD, 
spreadsheet, database or other 
software designed to utilize the EMS 
specification will run up to 8 times 
faster than an IBM PC XT with this 
product combination. 

The Top Board is fully compa¬ 
tible with the Lotus/Intel/Microsoft 
Expanded Memory Specification. 
It's unique design has an efficient 


and flexible paging scheme for 
even greater performance with 
EMS-compatible applications and 
multitasking software. 

For the performance you and 
your PC have been waiting for, 
order a Top Board today. Solveyour 
PC's problems with processing¬ 
intensive applications and improve 
your own personal productivity. 

CALL (206) 883-8440 

SEATTLE TELECOM 
& DATA, INC. 

2637 151st PI. N.E. 
Redmond, WA 98052 



Top Board and PC-286 are trademarks of STD. Framework is a trademark of Ashton-Tate. 

Lotus 1-2-3 and Symphony are trademarks of Lotus Development Corporation. IBM PC XT is a trademark of IBM Corp. 
Contact us regarding optional EGA graphics and multifunction daugther boards. 

CIRCLE NO. 124 ON READER SERVICE CARD 













































MECHANICAL CAD 


the Enter key displays the X and Y coor¬ 
dinates of the centroid, or center of 
gravity, which is calculated by dividing 
the area into a series of rectangles, re¬ 
ferred to as panels. 

GENERAL prompts for the panel 
width, which affects the accuracy of the 
area and centroid calculations. The nar¬ 
rower the panel, the more accurate the 
results. The command actually draws 
the panels on the screen as it calculates 
the area, in some cases obliterating the 
display. A redraw clears the screen of 
the panel lines and other markers. 

The MOMENT option of the CON¬ 
TROL VERIFY command calculates the 
moment of inertia of the shape about a 
specified axis and has the same general 
format as does the AREA/CN option. 
However, in addition to prompting for 
the shape, and panel width in the GEN¬ 
ERAL case, the program prompts for a 
reference axis about which the moment 
is taken. The axis is indicated as a point, 
using the position menu, and is a tem¬ 
porary vector passing through the speci¬ 
fied point, perpendicular to the view 
plane. Again, the program prompts for a 
panel width. The calculation is not 
instantaneous, but usually takes only a 
few seconds. Using larger panels widths 
speeds the calculation. 

Aside from the restriction imposed 
by keeping its entire drawing database 
in memory, cadkey has few limitations. 
The program uses 33 overlays, which 
produce a fair amount of disk activity. 
Virtually every menu change requires a 
disk access. If menu selections are 
made with the function keys, response 
is fast and no keystrokes are lost, even 
though the disk access may delay the 
screen output. With a pointing device, 
the user can enter commands faster 
than the program accepts them, due to 
the slight delays of disk activity and re¬ 
writing the menu window. 

As expected, the program operated 
considerably faster on an AT than on a 
PC. Loading the program on a Heathkit 
H-200 AT compatible required approxi¬ 
mately 13 seconds, whereas a PC with 
add-on hard disk and V20 microproces¬ 
sor took approximately 22 seconds. 

View changes and autoscaling took sev¬ 
eral seconds, but varied depending 
upon the number of entities in the 
drawing. The speed of redraws were on 
a par with other CAD packages. 

The program was tested on a Priam 
SharedSpace (formerly ClusterTower) 
external hard-disk unit, connected to an 
AT and a PC. Loading the program into 
the AT required 17 seconds, compared 
to 14 seconds for loading the program 
from the AT’s internal 30MB (type 20) 


disk drive. In other respects, the speed 
of the program seemed identical when 
run from the external or the internal 
disk drive. Loading the program from 
the SharedSpace unit to the PC re¬ 
quired approximately 23 seconds, again 
only slightly longer than loading it from 
the internal disk drive. The primary ad¬ 
vantage of using the external unit is that 
pattern libraries can be stored in a sin¬ 
gle location and made available to sev¬ 
eral workstations, thereby reducing re¬ 
dundant storage, eliminating the possi¬ 
bility of retrieving an out-of-date pattern 
file, and simplifying the task of pattern 
file management. 

DESIGN EXTENSIONS 

In its standard form, cadkey is a CAD 
program—it performs basic drafting 
tasks and is not specific to any particu¬ 
lar design discipline. However, the ven¬ 
dor apparently intends for the system to 
be the basic component of more 
advanced CADD systems. 

cadkey is a powerful 2-D/3-D pro¬ 
duction drafting system, although its 
lack of certain features may limit its ap¬ 
peal to some designers—for example, 
the lack of feet and inches units dis¬ 
plays is a drawback to architects and in¬ 
terior designers. Furthermore, it is not 
a 3-D modeling system in the usual 

C ADKEY seems best suited 
for mechanical design and 
drafting in its current 
configuration, but should 
be useful in many fields. 



sense. Its set of data primitives includes 
no cubes, spheres, or cylinders. Nor 
does it create perspective views auto¬ 
matically nor remove hidden lines. 
However, for many designers, cadkey 
can serve as a single tool for creating 
orthographic drawings and wireframe 
models of three-dimensional objects 
and for constructing perspective views. 

cadkey also provides several geo¬ 
metric analysis tools useful to designers, 
particularly in the area of machine 
design. This facility, if expanded, could 
set cadkey apart from many CAD pro¬ 
grams. The program seems best suited 
for mechanical design and drafting in 
its current configuration, but should be 
useful in many fields, including techni¬ 
cal illustration, especially with its ability 


to read text into a drawing from a disk 
file prepared with a word processor. 

cadkey documentation is substan¬ 
tial. The manual is contained in an SV 2 - 
by-11-inch loose-leaf binder that is 
more than an inch thick and filled to 
capacity. It is organized with tabs corre¬ 
sponding roughly to the main menu 
selections. Each main menu section tab 
contains a chart illustrating the various 
paths from the main menu selection to 
the bottom of the menu structure. 

cadkey provides a user interface 
that most designers should understand. 
The paradigm of viewing planes that 
can be rotated and translated arbitrarily 
is strange at first, but, once grasped, it 
seems the natural way to work. 

All menus are furnished as text 
files that the main program reads into 
memory. Although the cadkey manual 
does not provide details on customizing 
these menus, it does note that they can 
be altered within certain limitations. 
Prompts are also furnished as text files, 
so they too can be altered for custom 
versions of the program. 

By providing for both DXF and 
IGES file translation, Micro Control Sys¬ 
tems has made cadkey drawing files 
available to design programs written to 
industry-standard formats. This is an 
important point in the selection of a 
CAD program. Although the CADL facil¬ 
ity may encourage third-party vendors 
to extend the program and may be 
used for any design extensions pro¬ 
vided by Micro Control Systems, it is 
unlikely to supplant the DXF or IGES 
formats. Third-party developers will fol¬ 
low the formats that promise the largest 
markets—DXF and IGES. 

The CADL facility must be consid¬ 
ered a preview of future versions of the 
program. Currently, it is a rudimentary 
facility for import and export of graphic 
data for use with other design pro¬ 
grams. When the command facility 
promised in the manual is added 
(BASIC-like statements), the user may 
be able to extend the program with in¬ 
teractive macros and perform design 
tasks within cadkey. I""— 1 

CADKEY: $2,695 
Micro Control Systems 
27 Hartford Turnpike 
Vernon, CT 06066 
203/647-0220 

CIRCLE 338 ON READER SERVICE CARD 


Victor E. Wright is the manager of process 
engineering at Luckett & Farley, located in 
Louisville, Kentucky. This article is his fourth 
in a series of reviews of micro-based com¬ 
puter-aided drafting systems. 


JUNE 1986 


95 












ILLUSTRATION « ANDY LEVINE PHOTOGRAPH «JOHN LEI 



By using the horizontal and vertical 
retrace periods and swapping the 
visual and active page, users can 
achieve almost instantaneous 
display changes without snow 
for text pages on a CGA 


AUGIE HANSEN 


ers use the routines provided with DOS 
and in ROM BIOS to achieve portability 
of programs both to new versions of 
DOS and to new members of the PC 
family. In IBM terminology, programs 
that adhere to the DOS/BIOS interfaces 
are “well behaved.” The penalty for 
good behavior is a slower execution for 
screen-intensive applications because of 
the high overhead associated with the 
DOS and BIOS calls. 

For many programs, the portable 
approach is the way to go. But the PC 
public has an appetite for sizzle, which 
sells as much software as it does steak. 
A quick look at the top-selling software 
products bears this out: programs that 
have snappy screen displays (assuming 
requisite good performance otherwise) 
have a better chance in the marketplace 


S ince its introduction in 1981, the 
IBM PC has been offered with the 
choice of monochrome or color/ 
graphics display systems. Initially, the 
majority of systems were configured for 
monochrome only because it was the 
less expensive alternative. The situation 
has changed dramatically in just a few 
years. Now surveys and estimates of 
new sales show a more even distribu¬ 
tion of monochrome and color/graphics 
displays. Of course, both may be in¬ 
stalled on the same machine, although 
most programs are written to display 
output to only one at a time. 

DOS provides a set of routines that 
establish the video mode, write data to 
and read data from display memory, 
and perform a variety of related tasks. 
IBM recommends that program design- 






























INSTANT SCREENS 


than programs that do not. For exam¬ 
ple, an editor that takes a second or 
two to scroll the screen is going to cap¬ 
ture less attention than one that does 
basically the same job but scrolls the 
screen in one-tenth of a second or less. 
Programmers can be an impatient lot, 
sometimes willing to pass up otherwise 
excellent editors, even free ones, be¬ 
cause they operate slowly when 
updating the screen. 

An inherently faster but decidedly 
less portable way of updating the 
screen is to write directly to its asso¬ 
ciated memory. A convenient way of 
managing the screen is to keep off¬ 
screen buffers (one or more) in the 
program’s data space and to use a 
block-copy routine that quickly shuffles 
a memory image to physical display 
memory. For the monochrome display 
adapter, this strategy causes no prob¬ 
lem. It also works for the IBM Color 
Graphics Adapter (CGA) in any of the 
graphics modes. However, in either 40- 
or 80-column text mode, the original 
CGA is a problem because, unlike the 
monochrome adapter, the CGA exhibits 
visible interference when a program 
tries to access display memory while 
the screen is being updated. 

This interference, an irritating puls¬ 
ing of short lines covering portions of 
the screen, is referred to as snow . Sev¬ 
eral methods of avoiding snow are 
available. One way is to synchronize the 
display accesses during reading and 
writing operations with the time peri¬ 
ods within a display refresh cycle that 
are considered safe. The safe times are 
the horizontal and vertical retrace peri¬ 
ods of each displayed frame. Another 
involves blanking (turning off) the 
raster scan while the display memory is 
being written to. Each approach carries 
advantages and disadvantages. 

DISPLAY ADAPTER BASICS 

The screen interface package can be 
best appreciated by first understanding 
why the CGA retrace periods are the 
only safe times for display memory ac¬ 
cesses. (This discussion does not apply 
to the IBM Enhanced Graphics Adapter 
because it uses faster memory devices 
and additional logic that precludes 
problems with simultaneous access by 
the CPU and video refresh circuitry.) 

The memory on the display adapt¬ 
er is placed within the address space of 
the central processor. The CGA memory 
begins at B800H and extends upward 
for 16KB, enough for one high-resolu¬ 
tion graphics screen (128,000 pixels), or 
four screen pages in 80-column text 
mode. Text mode is the focus here. 


FIGURE 1: Raster Scan 



HORIZONTAL SCAN 


HORIZONTAL RETRACE 


DISPLAYED REGION 


TIME 


Any transmission of data during the period that the beam is writing to the screen 
will cause visible interference. Transmissions must take place during retrace. 


Figure 1 shows the horizontal 
sweep signal, the signal within the de¬ 
vice that is responsible for the horizon¬ 
tal deflection of the electron beam that 
paints the screen. The figure depicts 
one horizontal scan period. The depen¬ 
dent axis (up) is the beam deflection as 
a function of time shown along the 
independent axis (across). On a com¬ 
puter display, the screen image is un¬ 
derscanned —the image is completely 
visible within the normal viewing area. 
The result is a framed picture with a 
border. (In contrast, television sets use 
overscanning to make the image bleed, 
that is, leave no border.) The beam is 
turned off completely (blanked) during 
retrace to avoid leaving unwanted resi¬ 
due on the screen. 

The IBM display is noninterlaced, 
which means 262.5 horizontal scans 
occur per frame (one full screen 
image), and 60 frames occur per sec¬ 
ond. With 15,750 horizontal scans per 
second, each takes about 63.4 microsec¬ 
onds. Only a small portion of a single 
scan, typically 20 percent or less, is allo¬ 
cated to the horizontal retrace (one of 
the safe times for display memory ac¬ 
cesses) as shown in figure 1. One byte 
of data can be copied safely to or from 
display memory during this period. 

Programs that copy entire words 
(16 bits) in horizontal retrace may get 
by on some machines but fail on 
others. The original CGA board on one 
tested PC showed annoying jitter and 
interference along the left side of the 
display area when running programs 
that try to copy words instead of bytes. 
The behavior appears to be tempera¬ 
ture sensitive, indicating that transfer¬ 
ring more than a byte per retrace per¬ 
iod leaves too little of a safety margin. 


The horizontal sweep signal moves 
the electron beam from side to side. If 
it were the only sweep signal affecting 
the beam, nothing but a single straight 
line would appear on the display sur¬ 
face. Another kind of sweep signal is 
needed to move the beam up and 
down the face of the tube. This is the 
vertical sweep and it has the same basic 
sawtooth shap^ as the horizontal sweep, 
but a slower rate of change. At mini¬ 
mum deflection, the beam is at the top 
of the screen; it is moved toward the 
bottom as the deflection increases. 

A vertical retrace period takes 
place during the vertical synchroniza¬ 
tion pulse period at the end of each 
frame. During this time, the electron 
beam is blanked and moved from the 
lower right corner of the screen back to 
the upper left corner. This period is 
long enough—a little more than one 
millisecond—to permit a block of 250 
data words (character and attribute 
pairs) to be transferred to or from dis¬ 
play memory without interference. 

VIDEO INTERFACE 

A few important considerations affect 
the design of a program that will inter¬ 
act tightly with the display system. Be¬ 
cause of the choices available in the de¬ 
sign of a video application, no two de¬ 
signers are likely to accomplish the 
same task in the same way. The follow¬ 
ing is just one method. 

The first decision made in this de¬ 
sign was to use a buffered screen inter¬ 
face; that is, an image of what is to be 
sent to the display is assembled first in 
the program’s own data space. When 
complete, the image is copied as quick¬ 
ly as possible to display memory via a 
block-copy routine where it is periodi- 


PC TECH JOURNAL 
























One byte of data can be transferred during each horizontal retrace and 240 words 
can be transferred during a vertical retrace, all without causing snow. 


cally repainted on the screen by the 
raster-scan logic. Raster is the pattern of 
tightly-spaced horizontal lines that 
produce the displayed image on a cath¬ 
ode ray tube (CRT). 

Many programs use an unbuffered 
approach, which is adequate for most 
purposes. Characters are written into 
display memory via DOS and BIOS rou¬ 
tines, but no memory image is retained 
by the applications program. 

Most advanced microcomputer 
users want an instant response in 
screen update; for example, they expect 
a command selection from a menu to 
be displayed as soon as the key is re¬ 
leased. A few tenths of a second or less 
is a good rule of thumb. Such a re¬ 
sponse is attainable with a modest 
amount of programming. As noted 
above, however, portability to machines 
other than the IBM PC may be sacri¬ 
ficed; special versions of the screen- 
interface programs may be required. 

The routines described in this arti¬ 
cle assume that programs calling them 
already have done an equipment inven¬ 
tory and set up the display system in 
the 80-column text mode. 

Available methods of synchroniza¬ 
tion depend on the use of the status 
register at I/O address 3DAH. This is a 
read-only register on the CGA that has 
two bits of interest to the block-copy 
routine: when bit 0 is high, it indicates 
that a horizontal retrace is in progress; 
when bit 3 is high, it indicates that a 
vertical retrace is in progress. 

As noted, single bytes can be writ¬ 
ten during horizontal retrace periods, 
and large blocks of data words can be 
written during vertical retrace periods. 
To compress the time needed to trans¬ 
fer a screen image, the two approaches 
are merged using a combination of the 
horizontal and vertical retrace periods 
(this is explained with the block-copy 
routine that follows). 

The mode control register, a write- 
only register at I/O address 3D8H on 
the CGA, has a bit that may be reset (to 
0) to disable video. Bit 3 must be set to 
1 to turn on the beam that paints the 
screen. Turning off the beam is an ef¬ 
fective way to prevent snow. However, 
the beam cannot be left off for more 
than about three character rows of data 
before flicker becomes apparent. The 
BIOS video scroll routines use this 
technique and are unpleasant to view if 
the background color is not black. 

BLOCK COPY 

The instant screen method described 
here uses a memory buffer that holds 
the same amount of data as one display 


page on the standard CGA. The block- 
copy routine, CPBLK.ASM (listing 1), 
copies the contents of the memory buf¬ 
fer to display memory only during safe 
times. The memory buffer has 4,000 
bytes: 2,000 are for characters (25 rows 
by 80 columns) and 2,000 hold the attri¬ 
butes associated with each character. 
Display memory has 4,096 bytes per 
page (four pages in 80-column mode), 
but the last 96 bytes of each page are 
unused by most programs. 

The source code for cpblk is 
coded with conditional pseudo opera¬ 
tors and, therefore, must be assembled 
using a macro assembler that recog¬ 
nizes Microsoft assembler pseudo oper¬ 
ators. Alternatively, the conditional as¬ 
sembly lines can be removed and the 
file edited for customization to individ¬ 
ual compilers used for the C language 
parts of the package. 

An image is copied from applica¬ 
tion memory to display memory in 
blocks. Six blocks may be copied in 
one-tenth of a second. Each block has 
two parts, as shown in figure 2. A full 
240 words are copied during the verti¬ 
cal retrace period in one string move 
operation. Another 94 words are copied 
as single bytes, one per horizontal re¬ 
trace period. These values are based on 
both calculations and empirical mea¬ 
surements and are conservative enough 
to work with a worst-case display adapt¬ 
er without causing visible interference. 
(The color display system tested experi¬ 
enced very noticeable interference 
when an attempt was made to copy 
more than 248 words during vertical re¬ 


trace and more than a single byte dur¬ 
ing a horizontal retrace period.) 

Interrupts are turned off only dur¬ 
ing the critical time when cpblk is wait¬ 
ing for the start of a horizontal retrace 
period. This is done because even the 
slightest delay (by a keyboard or clock 
interrupt, for example) could cause a 
display memory write at the wrong 
time, resulting in snow. The vertical 
interval is relatively long and it has 
enough of a safety factor for the num¬ 
ber of words being transferred that 
interrupts are left on. If interrupts were 
turned off during the vertical retrace 
period, problems would result for other 
programs, such as the clock update rou¬ 
tine and resident utilities. 

DOUBLE BUFFERING 

To produce the snappiest performance 
from this display interface technique, 
programs should use an in-memory 
screen buffer that is updated out of the 
user’s view, then copied to display 
memory as quickly as possible. A 
method of achieving nearly instant CGA 
updates is shown in figure 3. The tech¬ 
nique is called double buffering be¬ 
cause two levels of buffers are main¬ 
tained in the application program. A 
two-step process is used to form a com¬ 
posite image in a screen buffer before 
it is copied to physical display memory. 

Application buffers may be any size 
and are usually thought of as rectangu¬ 
lar. Any piece of them can be mapped 
to any piece of the screen buffer as re¬ 
quired. This technique permits wind¬ 
ows for help frames, menus, and so on 


JUNE 1986 


99 





























INSTANT SCREENS 


to be overlaid easily onto another 
image. Writing a set of library functions 
that handles all of the needed opera¬ 
tions, such as writing characters, attri¬ 
butes, and strings, and scrolling regions, 
is a relatively easy job. 

Once the screen buffer has all of 
its characters and attributes in the right 
places, the task of getting the data to 
the visual display is handled by cpblk. 
Because the screen buffer is copied 
directly to the part of display memory 
being viewed, the user sees the screen 
being updated, albeit very quickly. If 
the contents of the before and after 
images vary only in small areas, detect¬ 
ing an update is difficult. 

If, however, massive image changes 
occur, such as switching background 
colors, the user can detect the update. 
For some purposes, the visible updating 
of screen displays is desirable because 
it may reassure the user that the pro¬ 
gram is working. For a program that is 
meant to produce smooth animation 
effects, this is not sufficient. 

A DEMONSTRATION 

Listing 2 is the C source code for a test 
driver program called ST (for screen 
test). The #ifdefs are provided for 
Computer Innovations C 2.3A, Microsoft 
C 3-0, and Lattice C 3.0G. Other C 
compilers may require different code to 
obtain the data segment register value 
needed for the block transfer. ST 
dynamically creates five screen buffers 
in main memory and loads them with 
known values. The character used for 
each of the screen buffers (0 through 4) 
is its number. Differing color attributes 
show the effect of massive color and 
intensity changes. 

The wait_ch function (listing 3) 
calls DOS function 8H, which returns 
the next available character in the key¬ 
board buffer. The function waits for a 
key to be pressed if nothing is ready. If 
the returned value from the DOS call is 
a null byte, wait_ch reads another, 
which is the value of an extended code 
from the keyboard. The driver program 
displays a help message for any key 
pressed except 0-4, Esc (the quit 
command), and Ctrl-Break (abort). 

The driver program is using a trick 
to produce the appearance of instant 
screen displays. About one-tenth of a 
second is required to copy a screen 
buffer in the application data space to 
the display adapter using cpblk. Al¬ 
though this is fast in comparison to 
other methods that also curb video in¬ 
terference, it is still far from instanta¬ 
neous. The trick is called page flipping , 
a method made possible by the fact that 



In this two-layer approach, any piece of the application buffer can be written to 
any piece of the screen buffer before being transferred into the display memory. 



The display adapter is capable of storing four complete screens of text. The moni¬ 
tor displays the visual page as the active page is being updated. Then the visual 
page and the active page are swapped creating an instant screen change. 


the CGA has enough display memory to 
hold multiple screen pages simulta¬ 
neously (see figure 4). 

Page flipping depends on having a 
means of telling the display system to 
view one page of display memory while 
the application is writing to another. 

The ROM BIOS video interrupt has a 
function (3) that sets the visual page. 
User should ignore the IBM Technical 
Reference statement that the function 
sets the active page. To be consistent 
with the way BASIC describes video 
pages, the active page should be the 
one being written, and the visual page 
should be the one being viewed. Fre¬ 
quently, they are the same page. 


Notice that the fprintf standard 
library function writes to standard er¬ 
ror, which appears on the visual page. 
Cpblk, however, is directed to write to 
the active page, which is effectively hid¬ 
den from view. When the active page 
has been fully written, it is revealed to 
the user by flipping the pages. The 
function swap_pg exchanges the values 
of the Apage and Vpage variables, then 
calls setpage (listing 4) to switch to the 
new visual page. The effect is an instant 
update from the user’s perspective. A 
short delay takes place while the active 
page is being updated before the page 
swap, but the user will not be able to 
detect it: the screen is repainted in 


100 


PC TECH JOURNAL 









































































Macro Assembler 

The quickest Bar none* 


Our Macro Assembler has long been the 
most complete package on the market. Now 
it’s also the fastest. Three times faster than 
before. And faster than anyone else. Period. 

Of course, it’s still the most powerful assem¬ 
bler on the market. It supports the standard 
8086/8087 opcodes. And the new 186/286/ 
287 instruction set. So you can make the 
most of the new machines. 

Debugging is quicker, too. Thanks to our 
interactive symbolic debugger, SYMDEB. 
Now you can refer to variables and source 
code instead of getting lost in hex dumps. 
And this debugger also works with Microsoft 
languages like C, FORTRAN and Pascal. So 
now you can set breakpoints and trace exe¬ 
cution-using source code for reference. 


18: 

11: 18 

12 : 

13: 

14: 

15: m 

H: 

17: 

kp .14 V 


14: PR1HF 

1AEF:8869 AH248 
m.mc 83C8 
1AEF:*KE 48 

immf mm 

H: COUNT 

16FF a872 FF866848 

17: K : l 

mi 

m\h Ml (i) 


00 18 I 1,8191 

FLAGS!I) ■ TRUE- 

DO 91 11,8191 

IF(.NOT. FIAGS(D) GO TO 91 

P81NF MM 

F0RNATUX.I6) 

COUNT COUNT * 1 
K I ♦ PRINT 


INC 

NOU 

COUNT ♦ 1 
INC 
♦ PR1NF 


AX,(48621 
AX, AX 
AX 

148641,AX 
UdH Ptr (4868) 


Cut your development time dramatically. Microsoft Macro Assemblers 
Symbolic Debug utility lets you debug your Macro Assembler programs , or 
debug your Microsoft C, FORTRAN or Pascal programs using your original 
source code or the resulting disassembly. For example, you can set break¬ 
points on line numbers and observe the contents'of variables or expressions. 

SYMDEB is just part of our complete set 
of utilities. Tools that make programming as 
fast as it should be. There are the linker and 
library managers you’d expect. Plus a new 
version of MAKE, our maintenance utility, 
with improvements like macro expansions 
and inference rules. 

We’ve also revised the manuals. Our new 
Macro Assembler has a lot to offer, so we 
added more examples. Now our manuals are 


not only thorough, they’re clearer than ever 
before. 

For quick development and assembly, the 
choice is obvious. Microsoft. There’s nobody 
faster. 


Microsoft® Macro Assembler Version 4*0 for MS-DOS 3 

Macro Assembler 

♦ Fastest macro assembler for MS-DOS computers. 

♦Supports the 8086/8087/8088 and the 186/286/287. 

♦ Define macros. 

♦ Conditional assembly. 

♦ Optional case sensitivity for symbols. 

♦ 100% upward compatibility from earlier versions of both the 
Microsoft and IBM® Macro Assemblers. 

Interactive Symbolic Debug Utility 

♦ Source level debugger for programs written in Microsoft 
Macro Assembler, C Compiler, FORTRAN, and Pascal. 

♦ Screen swapping helps debug highly visual applications. 

♦ Set breakpoints on line numbers and symbols. 

♦ Single step to follow program execution. 

♦ Disassemble object code. 

♦ Display and modify values. 

♦ Full I/O redirection. 

Program Maintenance Utility 

♦ Rebuilds your applications after your source files have 
changed. 

♦ Similar to UNIX™ MAKE utility. 

♦ Supports macro definitions and inference rules. 

Library Manager 

♦ Create, organize and maintain your object module libraries 
created with Microsoft languages. 

♦ Set page size from 16 to 32678, to create compact and 
granular libraries. 

Object Code Linker 

♦ Simple overlaying linker combines relocatable object 
modules created using Microsoft languages into a single 
program. 

♦ Load Map generation. 

♦ Specify from 1 to 1024 segments. 

Cross-Reference Utility 

♦ Creates a cross-reference listing of the definitions and 
locations of all symbols used in an assembly language 
program, which makes debugging programs easier. 

Microsoft EXE File Compression Utility 

♦ Packs EXE files for smaller size on disk and faster loading 
at execution time. 

Microsoft EXE File Header Utility 

♦ Display and modify EXE file header, allowing you to tune 
the stack size and initial memory allocation. 


For the name of your nearest Microsoft 
dealer call (800) 426-9400. In Washington 
State and Alaska, call (206) 882-8088. In 
Canada, call (416) 673-7638. 

Microsoft. 

The High Performance Software™ 

Microsoft and MS-DOS are registered trademarks and The High Performance Software is a 
trademark of Microsoft Corporation. IBM is a registered trademark of 
International Business Machines Corporation. UNIX is a trademark of AT&T Bell Laboratories. 








INSTANT SCREENS 


one-sixtieth of a second, far faster than 
the human eye can follow. 

The special precautions taken by 
cpblk are not needed when a mono¬ 
chrome adapter and display are being 
used. Therefore, the driver program, 

ST, checks for mode 7 and uses a stan¬ 
dard block-copy routine that invokes 
the string copy feature of the 8086/88 
processor. A string copy of 4KB is done 
very quickly. No flicker is visible, and 
no apparent delay occurs when this 
approach is used. 

Some IBM-compatible microcom¬ 
puters such as those from Compaq and 
AT&T have display adapters that have 
no problems with CPU/raster scan con¬ 
tention. An option on the invocation 
command line for ST permits a single 
argument (anything will do) to be given 
to turn off the use of the special copy 
feature. The command st x tells the 
program to use a standard block-copy 
routine instead of the special one. If 
this option is selected on a system with 
a standard CGA, visible interference is 
quite noticeable, especially if the user 
were to hold down a command key 
(0-4) to write the same screen buffer 
repeatedly to the display. 

The getdtype function (listing 5) 
uses the ROM BIOS video interrupt to 
obtain the current video mode. If 
CI__C86 is defined in the source file or 
in a command-line option, the C86 
sysint DOS interface function is used. 
Otherwise, the int86 interface function, 
supported by both Microsoft and Lattice, 
obtains the needed value. 

ST takes the easy way out of a 
minor dilemma. If a mode of 2, 3, or 7 
is returned, the program runs to com¬ 
pletion. If any other mode is returned, 
ST calls the err_exit function (listing 
6), which displays an error message and 
returns control to DOS. A more elegant 
design might save the mode returned 
by getdtype, then switch to an appro¬ 
priate mode for the duration of the pro¬ 
gram, and restore the saved mode upon 
completion. The problem is in knowing 
which mode to switch to. 

Because the Computer Innovations 
C86 compiler does not recognize the 
void type specifier, a typedef is used to 
alias references to void to type int. Be¬ 
cause no return of either control or a 
value from an error-exit operation is 
expected, the conditional compilation 
route was chosen over using a return 
type of int from the exit function. 

To create the ST program using 
Microsoft C 3.0 or Lattice C 3 0, the pro¬ 
grammer should first be sure that the 
files ST.C, SETPAGE.C, GETDTYPE.C, 
and ERR_EXIT.C define C_C86 to be 0. 


Also, the CPBLK.ASM source file must 
be edited to uncomment the equate for 
the selected C compiler and comment 
out the other two equates. 

A modest amount of automation is 
demonstrated here. The MAKE program 
supplied with the Microsoft Macro 
Assembler was used to control the de¬ 
velopment and maintenance of the 
source files for the screen test program. 
The make-description file ST is used by 
MAKE to compile the C and assembly 
language source files for which no tar¬ 
gets exist and for those targets that are 
out of date with respect to their com¬ 
panion source files. The version of ST 
shown in listing 7 is specifically for the 
Microsoft compiler and is invoked by 
the command make st. The compilation 
and assembly steps produce Microsoft- 
compatible object files. A macro 
assembler must be used to assemble 
cpblk because of the conditional assem¬ 
bly language directives within the 
source file. Both Lattice C and Com¬ 
puter Innovations C86 require that 
header files be included, so the files 

T be routine described here 
is inherently less portable 
than the DOS/BIOS calls, 
and should be used only for 
speed and effect. 



must be placed where the assembler 
can find them. Microsoft MASM 3 01 was 
used for the assembly step. 

The MAKE file for ST is written for 
the MAKE program that does not under¬ 
stand inference rules. Newer versions of 
MAKE (reportedly, those in MASM 4.0) 
do permit the use of inference rules 
and macros, which means the descrip¬ 
tion file can be greatly simplified. Note 
the /ml and /mx switches in the masm 
command. These cause the assembler 
to be case sensitive for internal and ex¬ 
ternal names, respectively. The /noi in 
the link command instructs the linker 
not to ignore case. For Microsoft C 
these switch settings are necessary, and 
for Lattice C they must be deleted from 
the description file. 

The compilers used for this article 
accept directives to search for header 
files and object libraries in specified 
directories. A hard disk is assumed in 
the presentation of the program prepa¬ 
ration steps. The ST file may need edit¬ 


ing for configurations different from 
those used here. The programs were 
developed and tested on a PC/XT, a 
PC/AT, and a PC6300, each with a 20MB 
hard disk and running various color 
and monochrome display systems. 

Compiling, assembling, and linking 
for Computer Innovations C compiler 
follows the same pattern as just 
described above. The programmer must 
be sure to edit the source files in order 
to set the necessary definitions and 
equates. Lattice C uses a start-up object 
file called C.OBJ, which must be the 
first file in the object list supplied to 
the linker. In addition, it requires a 
DOS.MAC include file that is selected 
for the memory model being used. 

CONSIDERATIONS 

Because it takes a tenth of a second to 
copy data from a screen buffer to dis¬ 
play memory, programs should not try 
to write one character at a time from 
the keyboard. This would result in a 
maximum update rate of six characters 
per second. JEven a slow typist would 
get ahead of such a program. 

A better way to handle this situa¬ 
tion is to use routines based on the 
BIOS and DOS interrupts to update the 
visual display page (they do so without 
causing interference) and use a separate 
routine to update the in-memory buffer 
so that it will reflect what is being 
displayed. The instant-screen routines 
should be saved for making large 
changes to the screen appearance. 

Other screen-update routines can 
be written based on the one described 
in this article. For example, a routine 
that copies a single line or a small 
range of lines or one that copies a 
small rectangular region from a screen 
buffer to display memory would be use¬ 
ful in doing selective screen updates 
with even shorter delays. 

The routine described here is in¬ 
herently less portable than the DOS/ 
BIOS calls, and thus should be used 
only when necessary for speed and ef¬ 
fect. The use of a manifest constant that 
holds the display memory segment is 
deliberate. Changing the value for ma¬ 
chines that tuck display memory away 
in some nonstandard place is a simple 
matter. Program logic that determines 
what equipment is hosting the program, 
permitting runtime adjustments to be 
made, can provide a means of regaining 
some of the lost portability. t" 11 —I 


Augie Hansen, formerly on the technical staff 
of AT&T Information Systems, now owns 
Omniware, a software development and 
training company. 


102 


PC TECH JOURNAL 











LISTING 1: CPBLK.ASM 

• ★***★★ CPBLK *********************************************************** 

# 

; Copy a screen buffer to display memory without visual "noise" 

; (C) 1982,1986 Omniware 

9 

; Usage: 

; cpblk(src_os, src_seg, dest_os, dest_seg); 

; unsigned src_os, src_seg, sest_os, dest_seg; 

9 

; Notes: 

; 1. Uses calling conventions Computer Innovations C86, Lattice, 

; and Microsoft C compilers selected by an equate. 

; 2. Provides the copy function solely for the c/g adapter. Test 

; for the required hardware before calling this function. 

; 3. The segments and offsets given in the calling program 

; determine whether this function does a screen save or a 

; screen update operation. 

.A*********************************************************************** 

I 

compiler compatibility (use one of CI_C86, LATTICE, or MICROSOFT) -* 
;CI_C86 equ 1 ; Computer Innovations, C86 version 2.30A 

/LATTICE equ 1 ; Lattice, version 3.00G 

MICROSOFT equ 1 ; Microsoft, version 3.00 

ifdef CI_C86 

include model.h 
include prologue.h 

else 



Sab 

equ 4 

; small model only 

endif 




ifdef 

LATTICE 




include 

dos.mac 


endi f 




al 

equ 

Sab 


a2 

equ 

Sab+4 


9 

video status information . 

VSTAT 

equ 

3dah 

; video (CRT) status register 

HRTRCE 

equ 

1 

; horizontal retrace bit mask 

VRTRCE 

equ 

8 

; vertical retrace bit mask 

;*■ block data 

(these values result in 8 extra bytes being copied) -- 

BLKCNT 

equ 

6 

; no. of buffer blocks to copy 

WRDCNT1 

equ 

240 

; no. of words to copy during ver. retrace 

WRDCNT2 

equ 

94 

; no. of words to copy during raster scan 

BYTECNT 

equ 

2 * WRDCNT2 

; no. of bytes to copy during raster scan 

i fdef 

LATTICE 




pseg 



endif 




ifdef MICROSOFT 




assume 

cs:_TEXT 


.TEXT 

segment byte public 

‘CODE* 


public 

_cpblk 


_cpblk 

proc 

near 


else 





public 

cpblk 


cpblk 

proc 

near 


endif 





9 

save registers and flags . 


push 

bp 



mov 

bp,sp 



push 

di 

; di and si saved because new C compilers 


push 

si 

; use them for register variables 


push 

ds 



push 

es 



pushf 




9 

get the source 

address . 


mov 

si,a1[bp] 



mov 

bx,si 



mov 

cl,4 

; shift to extract segment 


shr 

bx,cl 



add 

bx,a1+2[bp] 

; normalized source segment 


;.get the destination address. 

mov di,a2[bp] 

mov dx,di 


mov 

cl,4 

shift to extract segment 

shr 

dx,cl 


add 

dx,a2+2Ibp] ; 

normalized destination segment 

mov 

ax,0fh 


and 

si,ax ; 

source pointer 

and 

di,ax ; 

destination pointer 

cld 

# 

set up for auto increment 

mov 

ds,bx ; 

source segment 

mov 

es,dx ; 

destination segment 

mov 

ah,BLKCNT ; 

number of blocks to move 

• - - - - 
9 

9 

- - COPY A BLOCK. 

.... 

; The 

buffer is copied to the display memory in blocks. Each block 

; is 

copied in two parts. 

First, a chunk of words (character and 

; attribute) is copied during the vertical retrace period and then 

; individual words are copied during the horizontal retrace periods 

; of 

the normal screen update period. The display is not blanked. 

9 

copy_block: 



9 

- copy character/attribute words during vertical retrace . 

mov 

cx,WRDCNTl 

; number of words to copy 

mov 

dx,VSTAT 

; c/g adapter status register 

wait_vert_refresh: 


in 

al,dx 

; read status 

test 

al,VRTRCE 

; test vertical retrace bit 

jnz 

waitvertrefresh 

; loop until in a refresh period 

wait vert retrace: 


in 

al,dx 

; read status 

test 

al,VRTRCE 

; test vertical retrace bit 

jz 

wait_vert_retrace 

; loop until retrace starts 

rep 

movsw 

; move a block of char/attr words 

9 

•* copy single bytes during horizontal retrace periods . 

mov 

cx,BYTECNT 

; number of bytes to copy 

cmp 

cx,0 

; anything to copy? 

jz 

short bypasshoriz 

; no -bypass horiz. period updates 

mov 

dx,VSTAT 

; read c/g adapter status register 

wait_horizjrefresh: 


in 

al,dx 


test 

al,HRTRCE 

; test horizontal retrace bit 

jnz 

wait_horizref resh 

; loop until not in a retrace period 

cli 


; can't tolerate an interrupt here 

wait_horizjretrace: 


in 

al,dx 


test 

al,HRTRCE 

; test horizontal retrace bit 

jz 

wait_horizretrace 

; loop until retrace starts 

movsb 


; copy a byte 

sti 


; interrupts OK now 

loop 

wait_horiz_ref resh 


bypass_horiz: 



9 

* see if all rows have been copied . 

dec 

ah 

; reduce the block count 

cmp 

ah,0 

; done? 

jnz 

short copy_block 

; no - do it again 

9 

- clean up and return to caller . 

popf 


; yes - restore flags... 

pop 

es 

; ...and the registers 

pop 

ds 


pop 

si 


pop 

di 


pop 

bp 


ret 



ifdef MICROSOFT 


_cpblk endp 



_TEXT ends 



else 



cpblk endp 



endif 




JUNE 1986 


103 


































































































































































































INSTANT SCREENS 


ifdef LATTICE 


endps 


endif 


ifdef CI_C86 


include epilogue.h 

endif 


end 


LISTING 2: 

ST.C 

/************************************************************************ 

* st -- screen test using cpblk function 

* 

* Author: Augie Hansen 

* Written: 09/10/84 

* 


* Copies buffer contents into the c/g adapter's display memory 

* while eliminating "snow" by writing only during retrace periods. 

* Writes to on undisplayed page (active) and then flips the active 

* and visual pages to obtain a truely instant update. 

* 

* --- Revision record --- 

* 02/12/86: Added page-flipping feature for instant screens and 

* code to determine the display system type in use. 

* 03/20/86: Revised for use with Microsoft C, Version 3.00 and 

* Lattice C, Version 3.00G 

************************************************************************/ 

/* set the following 

define to 1 for Cl C86; 0 otherwise */ 

#define CI_C86 0 


#include <stdio.h> 


^include <dos.h> 


#define ASCII 

0x7F 

#define ATTR 

0x17 

#define CG_SEG 

OxB800 

^define CGA_C80 

3 

#define CGA_M80 

2 

#define MONO 

7 

#define MONO_SEG 

OxBOOO 

#define PAGESIZ 

0x1000 

#define PG0_OS 

0 

#define PG1_0S 

PG0_OS + PAGESIZ 

#define ESC 

27 

#if CIC86 


^define MOVEIT(a, b. 

c, d, e) movblock(a, b, c, d, e); 

typedef int void; 


#else 


#define MOVEIT(a, b, 

c, d, e) movedata(b, a, d, c, e); 

#endif 


int Apage, Vpage; 

/* active and visual display pages */ 

main(argc, argv) 


int argc; 


char *argv[]; 

r 


\ 

int ca; 

/* character/attribute pair */ 

int *cap; 

/* char/attr pointer */ 

int ch; 

/* user command character */ 

unsigned dseg; 

/* destination buffer segment */ 

int dtype; 

/* display system type */ 

int os; 

/* page offset in bytes */ 

int *sbuf[5] ; 

/* array of screen buffer pointers */ 

int sn; 

/* screen number */ 

int special = 1; 

/* use special copy routine */ 

unsigned src; 

/* source buffer */ 

unsigned sseg; 

/* source segment */ 

/* segment register values */ 

#if CI_C86 


struct segregs sr; 

#else 


struct SREGS sr; 


#endif 


void err exitO; 

/* error handler */ 

char *malloc(); 

/* memory allocator */ 


void movedataO; /* intersegment block copy V 
void segreadO; /* get segment reg values */ 
void swap pgO; /* swap display pages */ 

static char pgm[] = { "st" }; /* program name */ 

/* initialize destination segment */ 
if ((dtype = getdtypeO) == CGA_C80 | j dtype == CGA_M8G) 
dseg = CG_SEG; 
else if (dtype == MONO) < 
dseg = MONO_SEG; 
special = 0; 

> else 

err_exit(pgm, “requires 80-column text mode", 1); 

/* process command line */ 
if (argc > 2) 

err_exit(pgm, "usage -- st [x]", 2); 
else if (argc == 2) 

special = 0; /* bypass special block move */ 

/* get data segment value */ 
segread(Ssr); 

#if CI_C86 

sseg = sr.sds; 

#else 

sseg = sr.ds; 

#endif 

/* set up "active" and "visual" display pages */ 

Apage =1; /* page being written to */ 

Vpage * 0; /* page being viewed */ 

y 

/* create the demonstration screen buffers in memory */ 
for (sn = 0; sn < 5; ++sn) { 

/* form the fill character/attribute pair */ 


switch (sn) < 


case 0: 

ca 

= 

0x1730; 

break; 

/* 

'O', 

wht on blu */ 

case 

1: 

ca 

s 

0x0631; 

break; 

/* 

‘1», 

brn on blk */ 

case 

2: 

ca 

= 

0x6E32; 

break; 

/* 

•2*. 

yel on brn */ 

case 

3: 

ca 

= 

0x2033; 

break; 

/* 

'3', 

blk on grn */ 

case 

4: 

ca 

= 

0x4734; 

break; 

/* 

•4', 

wht on red */ 


> 

/* allocate a screen buffer */ 

if ((sbuftsn] = (int *) malloc(PAGESIZ)) == (int *) NULL) 
err_exit(pgm f "out of memory", 3); 

/* fill the buffer */ 
cap * sbuftsn]; 

while (cap < sbuftsn] + (PAGESIZ » 1)) 

*cap++ = ca; 

> 

/* display buffers on user's command */ 
fprintf(stderr, "\n 0-4 for screen buffers, Esc=exit \n"); 
while ((ch = wait_ch()) !* ESC) < 
if (ch >= *0' && ch <= '4' ) { 
if (dtype == MONO) 
os = 0; 

else 

os = (Apage == 0) ? PG0_OS : PG1_0S; 
src = (unsigned) sbuftch - 0x30]; 
if (special) 

cpblk(src, sseg, os, dseg); 

else 

MOVEIT(src, sseg, os, dseg, PAGESIZ); 
if (dtype != MONO) 
swap_pg(); 

> else 

fprintf(stderr, " 0-4 for screen buffers, Esc=exit \n"); 

> 

/* restore normal visual page and return to DOS */ 

setpage(O); 

exit(0); 

> /* end main() */ 

/* 

* swap pg -- exchange the global "active" and "visual" page 

* values and switch to the new visual page 
*/ 



104 


PC TECH JOURNAL 












A structuredprogramming language 
you’ll really feel comfortable with. 



Suggested retail price $149.90 
Educational site licenses available from 
Addison-Wesley Publishing. 

True BASIC] Language System is a trademarkotTrue Basic, Inc. 
Macintosh is a trademark of Apple Computer Corp. 

Amiga is a trademark of Commodore Business Machines. 

IBM is a trademark of International Business Machines Corp. 


You know John Kemeny and Tom Kurtz. They 
developed the original BASIC. Now they’re 
back with an even better version: a flexible, 
easy-to-use structured programming language 
they call True BASIC.™ 

True BASIC offers a full selection of control 
structures. External procedures can be 
compiled into libraries, making True BASIC 
faster and more powerful than any other 
programming language. 

True BASIC has a complete matrix algebra 
package and die best graphics ever in a higher 
level language. And diere are optional libraries 
for things like sorting and searching and 3-D 
graphics. 

True BASIC programs run on any computer 
which runs True BASIC, good news for users 
with more than one kind of PC. 

You’ll love True BASIC. Whedier you’re 
programming for your own applications, 
teaching others, or developing products to go 
to market, send in the coupon below to receive 
a free demo disk. 

CIRCLE NO. 191 ON READER SERVICE CARD 


Available for the IBM-PC™ and compatibles, 
Apple Macintosh,™ and Commodore Amigcti 
To order, talk to your local 
dealer or call (603) 

643-3882 TODAY! 



ffisic 


m 


39 South Main Street, 

Hanover,NH 03755 (603)643-3882 
My computer is: □ IBM-PC/compatible 

□ Apple Macintosh 

□ Commodore Amiga 

□ I’D LIKE TO GET MY FREE DEMO DISK. 

□ I’d like more information on the True BASIC 
language products. 

□ Fm ready to buy. Call me and tell me how. 

□ I’d like information on True BASIC 
Mathematics Series and other products. 

Name_ 

Title_ 

Company/University_ 

Address_i_ 

City, State, ZIP___ 

Telephone____ 













INSTANT SCREENS 


void swap_pg() 
i 

int tmp; 

/* exchange the page values */ 
tmp = Apage; 

Apage = Vpage; 

Vpage = tmp; 

/* switch to the new visual page */ 
setpage(Vpage); 

> /* end swap_pg<) */ 


LISTING 3: WAIT_CH.C 

* waitch -- Get next character from keybd buffer. 

* 

* If none is ready, the function waits for an input before returning 

* to the caller. If the input is non-null, it is returned as a 7-bit 

* ASCII code. If it is null, the next character is read and returned 

* as an 8-bit code with the MSB set to indicate an extended scan code. 

* Responds to Ctrl-Break input. 

* 

************************************************************************j 

#include <stdio.h> 


#define ASCII 
#define HIBIT 
#define KEY IN CB 


0x7F 

0x80 

8 


int wait_ch() 

< 

int ch; 


if ((ch = bdos(KEYIN_CB) & ASCII) == '\0•) 
ch = bdos(KEYIN_CB) j HIBIT; 
return (ch); 

> /* end wait_ch() */ 


LISTING 4: SETPAGE.C 

/* 

* setpage -- select "visual" screen page. Don't believe what you 

* read in the IBM Tech Ref -- this is definitely not the "active" 

* display page (where active and visual definitions are those used 

* in the Microsoft/IBM BASIC SCREEN statement). 

*/ 

/* set following define to 1 for Cl C86; 0 otherwise */ 

#define CI_C86 0 

#include <dos.h> 

#define VIDEOJO 0x10 

#define SET_PAGE 5 

int setpage(pg) 

int pg; /* visual screen page */ 

C 

#if CI_C86 

unsigned char vec = VIDEO_IO; 
struct regval { 

int ax, bx, cx, dx, si, di, ds, es; 

> srv, rrv; 

srv.ax = (SET_PAGE « 8) J pg; 
return (sysint(vec, &srv, &rrv)); 

#else 

int intno = VIDEO_IO; 
union REGS inregs, outregs; 

inregs.h.ah = SET_PAGE; 
inregs.h.al = pg; 

return (int86(intno, Sinregs, &outregs)); 

#er»dif 

> /* end setpageO */ 


FORECASTING AND STATISTICAL ANAIYSIS 


StatPac" 

the proven statistical analysis package 

The standard for business and industry 
for over six years. Comprehensive and 
easy to use. StatPac is a full-featured 
statistical package for professional 
researchers. 

StatPac Gold' 

our top-of-the-line statistics package 

An enhanced version of StatPac 
featuring windows, graphics, and 
command programming language. 
StatPac Gold is the most advanced 
statistical package available. 



Call for complete 
information: 

1-800-328-4907 




Forecast Plus™ 

a time-series analysis forecasting tool 

A combination of data management, 
exploratory graphics, and over a dozen 
forecasting techniques, make Forecast 
Plus the most powerful time-series 
package available. It works fast, 
accurately and automatically. 

Goodness-of-Fit ™ 

a regression package for 
model building 

A full-featured regression package for 
professional researchers. Command 
driven with versatile programming 
language. 


WALONICK ASSOCIATES 

6500 Nicollet Ave. S., Minneapolis, MN 55423 

(612) 866-9022 


106 


CIRCLE NO. 188 ON READER SERVICE CARD 


PC TECH JOURNAL 






















LISTING 5: GETDTYPE.C 
/* 

* getdtype -- retrieve the screen mode value 
V 

/* set following define to 1 for Cl C86; 0 otherwise */ 
#define CI_C86 0 

finelude <dos.h> 

#def ine VIDEOJO 0x10 

#define GET_STATE 15 

#define LOBYTE OxFF 

int getdtypeO 
i 

#if CI_C86 

unsigned char vec = VIDE0_I0; 
struct regval l 

int ax, bx, cx, dx, si, di, ds, es; 

> srv, rrv; 

srv.ax = GET_STATE « 8; 
sysint(vec, &srv, &rrv); 
return (rrv.ax & LOBYTE); 

#else 

int intno = VIDEOJO; 
union REGS inregs, outregs; 

inregs.h.ah = GET_STATE; 
int86(intno, &inregs, &outregs); 
return (outregs.h.al); 

#endif 

> /* end getdtypeO */ 

LISTING 6: ERR_EXIT.C 
/* 

* err_exit -- issue a diagnostic message and terminate 
*/ 


/* set following define to 1 „for Cl C86; 0 otherwise */ 

#define CIC86 0 

^include <stdio.h> 

#if CI_C86 
typedef int void; 

#endif 

void err_exit(pname, msg, level) 
char *pname, *msg; 
unsigned int level; 
i 

fprintf(stderr, “Xs: %s\n", pname, msg); 
exit(level); 

> /* end err exitO */ 

LISTING 7: ST 

# makefile for ScreenTest (st) program 
st.obj: st.c 

msc st; 

cpblk.obj: cpblk.asm 

masm cpblk /ml /mx; 

errexit.obj: errexit.c 

msc err_exit; 

getdtype.obj: getdtype.c 

msc getdtype; 

setpage.obj: setpage.c 

msc setpage; 

wait_ch.obj: wait_ch.c 

msc wait_ch; 

st.exe: st.obj cpblk.obj err_exit.obj getdtype.obj \ 

setpage.obj wait_ch.obj 

link st err_ex?t getdtype setpage wait_ch cpblk /noi, st,,; 


CREATE SOPHISTICATED SCREENS & ACCELERATE PROGRAM DEVELOPMENT WITH... 


screen 

FEATURING: 

The Panel Definition Facility 

• full screen painting in monochrome & color 

• use any ASCII character for lines and borders 

• quick & simple field definition 

• easy allocation of cursor & control keys 

• numerous, friendly help screens 
The Panel Management Facility 

• store panels in memory resident file 

• easy copy, rename & delete 

• print panel formats for documentation 
The Panel Control Facility 

• full control of panels at runtime 

• fast & efficient screen I/O 

• multiple panels on any screen 

• dynamically change panel characteristics 

• pop-up menus & help panels 

Easy To Use. . .Yet Powerful & Efficient 


™ Screen 

Management 

System 




Flexus International Corporation 
P.O. Box 9119 
Morristown, NJ 07960 
(201) 895-4724 


Screenplay Supports The Following Languages: 
Please Check Box For Required Version 

□ Turbo Pascal .$100.00 

□ IBM/Microsoft Assembler .$100.00 

□ DeSmetC .$125.00 

□ Lattice C .$150.00 

□ IBM/Microsoft COBOL .$175.00 

□ Realia COBOL .$175.00 

New Jersey Residents Add 6% Sales Tax 

Shipping & Handling $5.00 

Total Amount Enclosed $ _ 

□ Check □ Money Order □ kT>r^ | 


. Exp. Date. 


Signature _ 

□ Please send more information on screenplay 

Name_ Title_ 

Company__ 

Address. 


\ City/State/Zip _ 


WmJ> 


107 


JUNE 1986 


CIRCLE NO. 137 ON READER SERVICE CARD 









































The personal computer that 
continues to raise 
high performance to new heights. 


If you work with high volumes of 
information, you need answers fast. 

Which is why IBM created the Personal 
Computer AT.® The PC designed to push 
high performance even higher. 

The power of 
Advanced Technology. 

Turn on the power, and you’ll notice the 
advances right away. 

To begin with, the Personal Computer AT 
can compute with astonishing speed. That’s 
something you’ll appreciate every time you 
recalculate a spreadsheet. Or search 
through a data base. 

It can store mountains of information— 
up to 15,000 pages’ worth—with a 30- 
megabyte “hard file” (fixed disk). And 
when business gets bigger, you can double 
your capacity to 60MB with a secbnd hard 
file. 

Advanced Technology 
advances again. 

Fast as it is, new models of the Personal 
Computer AT run up to 33% faster. 

Plus, you can now select an enhanced 
keyboard. It has separate cursor keys, a 
separate numeric keypad (for easier data 
entry) and twelve function keys. It also has a 
main typing section patterned after the classic 
IBM Selectric® keyboard, which makes word 
processing easier than ever. 

In addition, you can also choose a new 
option that lets you use 3.5-inch diskettes 
with your Personal Computer AT. 


Family ties. 

The Personal Computer AT is compatible 
with the IBM PC and PC/XT. So it can run 
many of the thousands of programs written 
for the IBM PC family. 

And with new IBM products, the Personal 
Computer AT can more easily communicate 
with other PCs. 

IBM’s networking options, for example, 
let you share files from a variety of popular 
programs. 

While the IBM PC 3270 Emulation pro¬ 
grams let you retrieve information from a 
mainframe. 

You can also use the Personal Computer 
AT to run IBM PC XENIX® —an enhanced 
multi-user, multi-tasking operating system. 

A powerful value. 

Only the Personal computer AT offers 
these capabilities and IBM’s commitment to 
quality, service and support. A combination 
that can’t be cloned. 

Better still, you’ll find that the new 
models offer higher performance without a 
higher price. And if you qualify, you can 
conveniently charge your Personal Computer 
AT on IBM’s Credit Card. Or lease one with 
the IBM Commercial Lease Agreement. 

See the Personal Computer AT at an 
Authorized IBM PC Dealer. Or call your 
IBM marketing representative. 

For the name of a store near you, call 
1-800-447-4700. In Alaska, call 1-800- 
447-0890. 


The IBM Personal Computer AT, 
for Advanced Technology. 

sed bv Bubbles Inc., s.a. J 


Little Tramp character licensed by Bubbles Inc., s.a. 

IBM, PC/XT and Personal Computer AT are trademarks of International Business Machines Corporation. 
XENIX® is a registered trademark of Microsoft Corporation. Based on System V. 


CIRCLE NO. 248 ON READER SERVICE CARD 






©Copyright IBM Corporation 1986 












An equation-solving program with built 
functions and a textbook-style interface 
automates mathematical modeling. 


VICTOR E. WRIGHT 


this article. (Also see “TKlSolver 
Equates/' Victor E. Wright, PC Tech 
Journal , September 1985, p. 137). 

Mathematical models are based on 
relations— equations, conditions, con¬ 
straints, and functions. By contrast, tra¬ 
ditional computer algorithms are based 
on much lower level constructs. Even 
the statements of a program written in a 
high-level language, such its FORTRAN, 
C, or PL1, are low level in comparison 
to the relations expressed by the equa¬ 
tions these programs solve. 

An equation-solving program 
accepts equations in essentially text¬ 
book format, with a few concessions to 
facilitate the task of parsing. The pro¬ 
gram “knows” nothing of particle phys¬ 
ics, pricing theory', Reynolds numbers, 
or cantilever beams. What it does know' 
is how to solve equations —tnie equa¬ 
tions with an arbitrary number of vari¬ 
ables on each side of the equal sign 
and, in some cases, systems of simulta¬ 
neous equations. This kind of program 
is an example of a constraint language; 


hH he computer spreadsheet, widely 
I used in the personal and business 
A. worlds, is too limited for most 
scientific, engineering, and business 
•applications. In some situations, a sys¬ 
tem or process must be modeled with a 
set of mathematical relations. Often, the 
user (or perhaps more appropriately, 
the modeler) is not interested in creat¬ 
ing a computer program to implement 
the model, nor is it worthwhile for him 
to transform an existing mathematical 
model into the methods that could be 
used in a spreadsheet. What the mod¬ 
eler needs is a tool that recognizes 
mathematical equations and associated 
data and that solves the equations. 

Equation-solving programs are not 
new. Classical methods of solving sets 
of simultaneous equations have been 
implemented in several languages. The 
program considered here, Formula/ 
One, from Alloy Computer Products, 
Inc, is an equation solver patterned af¬ 
ter the pioneer in this held, TKISolver. 

A sidebar comparing the two follows 






























Sybil is an Advanced Diagnostics disk... 

She can low format hard disks just like 
Advanced Diagnostics (IBM, Compaq, etc.) and 
she can do system and memory tests which 
provide even more information than Advanced 
Diagnostics does. $245.00 cheaper than IBM's 
Advanced Diagnostics! 

Sybil is a Disaster Recovery program... 

She can recover hard disks that have been ac¬ 
cidentally formatted, completely! The hard disk 
reappears in exactly the same condition prior 
to the format. Truly amazing! 

Sybil is a Graphics Editor... 

She can draw on either RGB monitors (in color) 
or IBM Monochrome monitors in high ASCII 
characters. Perfect for creating Binary Image 
Files. The Binary Image Files can be converted 
to Assembly and then linked to other lan¬ 
guages, such as your favorite Pascal, C, or com¬ 
piled BASIC program. Includes source code. 


FORMULA/ONE 



When first invoked, Formula/One displays a two-sheet 
format: equation and variable. Here, the modeler has entered 
two equations and Formula/One has listed the variables. 



Above, the modeler specifies values for the constants in the 
equations shown in photo 1. An “I” in the status field of the 
variable sheet indicates values that have been input. 


Sybil is a File Wizard... 

Sybil can backup files by date, by time, or by 
size. She can find any file (or files) anywhere on 
your hard or floppy disks, even if you haven't 
the vaguest notion. She can edit file attributes 
with the greatest of ease, unerase files, edit 
sectors, and globally change time and date 
stamps. All her file utilities understand paths 
and wildcards. 

Sybil is also a... 

ram Disk, Print Spooler, General Regular 
Expression Parser and, Advanced File 
Comparator. 


Order Sybil Today! 

Call 800-922-3001, in Colorado, 



303-444-1542 


SOPHCO 

PO Box 7430 

Boulder, Colorado 80306 



CIRCLE NO. 176 ON READER SERVICE CARD 



Formula/One solves for two unknowns in figure 1. The aster¬ 
isks in the equation sheet indicate that both equations were 
solved; the Os on the variable sheet denote output values. 


PC TECH JOURNAL 








































it relies upon the relations that describe 
the problem and determine the solu¬ 
tion. The rules of an such a program 
are the rules of a universally under¬ 
stood language: mathematics. 

FAMILIAR INTERFACE 

The Formula/One interface allows a 
model to be defined in terms of mathe¬ 
matical equations in the same sense that 
equations are presented in references 
and textbooks. The modeler enters true 
equations; the program accepts the 
known values and assigns values to 
unknown variables such that the condi¬ 
tions specified by the equations are 
satisfied. A built-in solver of unspecified 
methodology performs the work. 

This equation solver uses the note¬ 
book and sheets paradigm: that is, a 
Formula/One model is defined by a 
number of relations, each of which is 
summarized in a specific screen display 
that is like a sheet in a scientist’s note¬ 
book. Formula/One is interactive—a 
what-if tool. Once a model is defined, it 
can be solved with many sets of input. 

A model can be developed incremen¬ 
tally and solved at any stage. 

When the program signs on, it asks 
what type of monitor is being used. 
Once this is resolved, the program dis¬ 
plays two windows into the model—the 
equation sheet and the variable sheet. 
These two sheets are required for even 
the most minimal modeling. Photo 1 
shows a typical configuration with two 
equations entered. The equation sheet 
(at top) contains the model’s equations; 
variable names are listed automatically 
on the variable sheet. 

The equation sheet has two fields: 
status and equation. The window can 
display either seven rows when the 
screen is split between the two sheets, 
or seventeen rows when the screen is 
toggled to a single-sheet display. The 
remaining rows are devoted to borders 
and field headings. A reverse video cur¬ 
sor appears in the first row of the equa¬ 
tion sheet in the initial display, indicat¬ 
ing that the equation will be entered 
there. The cursor can be moved to any 
row with the cursor arrow keys. 

When a key is pressed, with the 
cursor in the equation field of the equa¬ 
tion sheet, a reverse video bar appears 
at the bottom of the screen. As the cur¬ 
rent equation is typed in, it appears in 
the bar, not in the sheet itself. When 
the equation is entered, by pressing the 
Return key or an up or down arrow 
key, it appears in the current row, and 
the bar at the bottom disappears. 
Formula/One checks the equations for 
legal syntax as they are entered. 


The variable sheet is comprised of 
six fields: status, name, value, display 
unit, calculation unit, and comments. 
Like the equation sheet, the variable 
sheet displays seven rows in a dual¬ 
sheet display and seventeen rows as a 
single sheet. As equations are entered 
in the equation sheet, the variable 
names appear in the variable sheet 
name field. Variable names are limited 
to 16 characters, 12 of which can be 
displayed in the name field. 

The status field displays the type 
and use of each variable: I(nput), 
O(utput), G(uess), L(ist), I(nput) L(ist), 
O(utput) L(ist), or S(tring). This range 
of options enables Formula/One to use 
a single column to indicate input and 
output values. 

The number of required input val¬ 
ues depends upon the number of inde¬ 
pendent equations, and the model can 
have as many unknown variables as it 
has independent simultaneous equa¬ 
tions. The entering of variable values is 
similar to the entering of equations. 

The cursor must be positioned in the 
row of the current variable. (In the case 
of a new model, the cursor first must 
be moved from the equation sheet to 
the variable sheet with the switch sheet 
command—the ; key). As input values 
are typed in, they first appear in the re¬ 
verse-video bar at the bottom of the 
screen, then in the current row when 
the data are entered. As the entry ap¬ 
pears in the proper row, the program 
displays an I indicator in the status 
field. Figure 1, which is a continuation 
of the Formula/One session shown in 
photo 1, demonstrates input. 

Equations, variable names, and 
input values are the essential elements 
of a model. Once they are entered, the 
model can be solved using the solve 
command (the ! key) or by pressing F9. 
As the program solves the model, it in¬ 
dicates the progress of the solution pro¬ 
cess on the bottom line of the screen. 
When the solution is complete, the out¬ 
put values appear in the value field of 
the variable sheet, with O indicators in 
the status field of each output variable, 
and an asterisk (*) appears in the status 
field of the equation sheet for each 
equation that was satisfied. In figure 2, 
Formula/One has solved the equations 
from figure 1. 

UNITS 

Units are a key element of any model. A 
relation can be described in an abstract 
sense; but without units, it cannot be 
related to real-world phenomena. More¬ 
over, if units are not supplied, a model 
cannot be considered truly solved. 


Get a Grip 
on Assembly 
Language. 

The award winning 
Visible Computer: 


8088. 



The Visible Computer is a book and software 
combination for mastering the elusive skills of 
assembly language. 

It’s an animated simulation of the PC’s 
microprocessor that lets you see with your own 
eyes how assembly language works. You’ll be 
using it as a debugging tool for years to come. 

It’s a tutorial. A lot of people think the 350 
page manual is the best book on assembly 
language ever written. 

It’s 45 demonstration programs you’ll execute 
with the simulator, from simple register loads 
to advanced programs that manipulate 
interrupts and perform file I/O. 

• Applies to all 86 family processors, including 
80186 and 80286. 

• PC Tech Journal “Program of the Month. ” 

$ 49 . 95 / 

Copy Protected vS 

$ 79.95 

Unprotected 

The Visible Computer for IBM PC/XT/AT and true 

compatibles. If your dealer doesn’t have it, order direct: 

Software Masters, 2714 Finfeather, Bryan, TX, 77801. 

(409) 822-9490. Please include $3.00 shipping. 

Bank cards accepted. 



TVC takes you inside the 
processor as it executes programs. 


Software Masters ™ 


JUNE 1986 


CIRCLE NO. 168 ON READER SERVICE CARD 

113 










FORMULA/ONE 


Formula/One assumes that a model 
is entered with a consistent set of units. 
Even if a model is developed without 
units, it can be solved and output values 
will be displayed: if the equations that 
form the model are consistent (incorpo¬ 
rating conversion factors and constants 
as required), then the model will pro¬ 
duce correct answers, whether or not 
units are assigned to variables. 

The unit sheet holds the definition 
of unit conversion factors. A unit con¬ 
version is defined by information in 
four fields: from unit, to unit, multiply 
by, and add offset. These fields permit a 
linear transformation between any two 
units of measurement. As many as 128 
conversion factors can be defined. 

Formula/One does not associate 
the operations applied to variables with 
corresponding operations to units, so it 
cannot distinguish among suitable units. 
For example, if an equation for area, 
such as A = l * w, has the unit feet 
assigned to / (length) and w (width) 
and the unit inches 2 assigned to A, the 
equation will be solved without com¬ 
ment, just as it would if A had been as¬ 
signed the more logical unit of feet 2 . 

In fact, Formula/One does not 
monitor the status of unit assignments 
on a realtime basis. The variable sheet 
includes two fields for units—calcula¬ 


tion and display—both of which accept 
entries of arbitrary unit labels at any 
time, whether or not they are currently 
defined in the unit sheet. The program 
apparently checks the unit sheet for 
conversion factors only during the solu¬ 
tion process. If a display unit label is 
changed, the corresponding value does 
not change until the model is solved 
again. When the model is solved, con¬ 
versions are made only as defined in 
the unit sheet. If a conversion has not 
been defined for a particular display/ 
calculation unit pair, the value is dis¬ 
played in calculation units. A conversion 
must be defined for each pair—the pro¬ 
gram does not chain conversion factors. 

The equation, variable, and unit 
sheets provide enough horsepower to 
solve many engineering problems. In 
figure 3, Formula/One solves a stress 
analysis problem (that is illustrated and 
solved conventionally in the sidebar “A 
Sample Problem” on page 123). 

LISTS 

A variable can be assigned a L(ist) status 
when, for example, a single model must 
be solved for several sets of input data, 
or when a single model requires a 
numerical solution in which each step 
of the solution requires access to the 
data of previous steps (see figure 4). 


Lists are created from the variable 
sheet, by entering L or IL in the status 
field; they can contain numerical or 
string values, but not both. The mod¬ 
eler reaches the list sheets that are 
created by using the dive command (>) 
from the variable sheet. String values 
may be held only in lists that have an S 
in the status field; if any other list indi¬ 
cator, or no indicator, appears, string 
values cannot be entered. 

Once a list has been created, it can 
be filled with input values in two differ¬ 
ent ways. In the first method, the mod¬ 
eler enters individual values, one row at 
a time, in any arbitrary sequence. The 
second method uses the fill command 
(/F). Values entered using fill are 
spaced linearly by the program between 
the first and last entries in the list, both 
of which must be entered directly. For 
example, if the modeler enters 1, then 
four blank lines, then 6 as a list, and 
presses /F, Formula/One will fill in the 
list with 2 3 4 3, each on its own line 
between those holding 1 and 6. 

Each list sheet has a number-of-list- 
elements field that must be set before 
/F is entered, because the command 
fills the entire list, not an arbitrary sub¬ 
range. Individual list sizes can be set up 
in this way, or a default list size, up to 
999 elements, can be set for all lists in a 


THE BEST PC TEXT EDITOR JUST GOT BETTER. 


ANNOUNCING SPF/PC™ 1.82 

The best full screen editor for the IBM PC now extends support for large files to all PC’s, not just 
the IBM/AT. Invoke your favorite program/compiler from within Edit at any time regardless of file 
size. CTC’s SPF/PC tm 1.82 still looks like its mainframe cousin but executes faster with more options. 


NEW FEATURES 

• PAGING - Editing limited only 
by capacity of expanded/extended 
memory or hard disk. 

• SPEED - Search 1,500,000 byte 
file with IBM AT in less than 
13 seconds. By comparison, 
the IBM 3081 mainframe takes 
48 seconds. 


$195 

UPGRADES only $50 
ADD $6 shipping 
Canada $10, Foreign $15 




Payment in U.S. funds by 
check or bank wire (Bank 
of America, San Francisco 
account 05583-05454). 

Net 30 to D&B rated firms. 


• Compatible with IBM and 
Novell Networks 

• Modifiable HEX display 

• Line length to 954 bytes 

Minimum Requirements: 

DOS 2.00-3.10,192KB memory, 
any IBM PC or true compatible 
or n Professional. 


Command Technology Corporation 

1900 Mountain Boulevard 
Oakland, California 94611 


TO ORDER Telephone: (415) 339-3530 
SPF/PC. Telex: 509330 COMMAND TECH 


CIRCLE NO. 227 ON READER SERVICE CARD 


.114 


PC TECH JOURNAL 





























FIGURE 3: A Sample Solution 


FIGURE 4: Using Formula/One Lists 


=============================== Equation Sheet 

St Equation 


"Beer & Johnston, STATICS, page 131 
"Weights=forces 
Fload=Load*g 
Fcrane=Mcrane*g 
"Moments about B 
•1.5*Ax-6*Fload-2*Fcrane=0 
"Moments about A 
1.5*Bx-6*Fload-2*Fcrane=0 
"Sum of forces in X direction 
Ax+Bx=0 

"Sum of forces in Y direction 
Ay+By-Fload-Fcrane=0 

============================= variable Sheet ========: 


St 

Name 

Value 

Dsp Unit 

Cal Unit Comments 







I 

Load 

2400 

kg 

kg 


I 

9 

9.81 

m/s A 2 

m/s A 2 


0 

Fload 

23544 

Newton 

Newton 


0 

Fcrane 

9810 

Newton 

Newton 


I 

Mcrane 

1000 

kg 

kg 


0 

Ax 

-107.256 

kN 

Newton 

pinned connection 

0 

Bx 

107.256 

kN 

Newton 

rocker connection 

0 

Ay 

33.354 

kN 

Newton 

pinned connection 

I 

By 

0 

kN 

Newton 

rocker connection = 0 


From Unit 

To Unit 

Multiply By 


Add Offset 

kN 


Newton 

1000 




In figure 3, Formula/One solves a stress analysis problem 
that is worked out conventionally in the sidebar “A Sample 
Problem” (p. 123). In figure 4, the program processes a list 
of values. If an object is dropped at time t = 0, the distance 
5 it has traveled is given by S = ^ at 2 , where a is the accel¬ 
eration due to gravity. Formula/One finds S at t = 1 second, 
t - 2 seconds, and so on, with a single solve command. 


=============================== Equation Sheet ============== 

St Equation 


* S=1/2*a*t A 2 

=============================== Variable Sheet ==============: 

St Name Value Dsp Unit Cal Unit Comments 


0L S 

1 a 9.8 

IL t 

================================= List Sheet ============================= 

Number of List Elements: 10 

t 

1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

================================= List Sheet ============================= 

Number of List Elements: 10 

S 

4.9 
19.6 

44.1 

78.4 

122.5 

176.4 

240.1 

313.6 

396.9 
490 


model (this is effected from the set-up 
sheet, which is discussed below). 

Any list not indicated specifically as 
an I(nput) L(ist) is assumed to be an 
O(utput) L(ist); the program changes 
the L to OL when the model is solved. 
Regardless of input or output, as long 
as list status is indicated, input values 
cannot be entered in the value field. 

Formula/One will not solve a 
model in which all of the variables are 
assigned L, the general list status. At 
least one list must be assigned IL status. 
The program has no list command; 
when a model contains input lists, the 
list solver is invoked automatically 
when the solve command is entered. 

Lists can be used as arguments of 
certain functions in a model that is to 
be solved only once—a model, that is, 
without input and output lists. In that 
case, list variables cannot appear in the 
equations as variables. Instead, the list 
name must be entered in the name 
field of the variable sheet directly, and 
then the list status is set. 


SOLUTIONS 

Formula/One provides a single solve 
command. The modeler enters this 
command and the program determines 
the solution method from various 
aspects of the model. Its primary 
method is the algebraic solver (analo¬ 
gous to TKISolver’s direct solver). 

This solver proceeds through the 
model, beginning with the first equa¬ 
tion, searching for equations with only 
one unknown variable to solve. It as¬ 
sumes the substitution of known values 
from earlier equations. Certain condi¬ 
tions must be met for the algebraic 
solver to solve a system of equations: 

• First, an unknown variable must 
appear only once in the equation. For 
maximum efficiency, this rule should 
be followed throughout a model. 

Many equations that contain variables 
in more than one location in textbook 
form can be rewritten so that the vari¬ 
ables appear only once. For example, 
y = x * x cannot be solved by the 
algebraic solver, but y = x 2 can. 


• Second, as was indicated above, each 
equation can have no more than one 
unknown variable. 

• Third, the unknown variable cannot 
be the argument of a function for 
which there is not a unique inverse. 
For example, the built-in function 
sqrt(x) has a unique inverse, there¬ 
fore y = x 2 can be solved directly 
whether x or y is the known variable. 
However, y = sin(x) can be solved 
directly only when x is known, be¬ 
cause the sine function is periodic. 

If the algebraic solver is unable to 
solve an equation or a system of equa¬ 
tions (or when the conditions required 
for the algebraic solver have not been 
met), the program invokes an iterative 
solver. Like virtually all iterative meth¬ 
ods, Formula/One’s method makes a 
guess at the value of the unknown vari¬ 
able, evaluates both sides of the equa¬ 
tion, and compares the two sides. If the 
two values are equal or differ by less 
than a predetermined amount, the 
guess is presented as the correct an- 


JUNE 1986 


115 











































All IBM PC and AT programmers: 

BRADY has your 

number:80286 



iiiiiiiiiiiiiiiiimiiiiiim 

1 CIRCLE NO. 159 ON READER SERVICE CARD 


THE IBM PC AT PROGRAMMER’S GUIDE 
THE WAITE GROUP 

This guide presents the nuts and bolts of program¬ 
ming the 80286 to get the most out of the AT’s 
power. It includes discussions of the entire intel 
CPU family for perspective and focuses on IBM 
BIOS to enable programmers to get the most out 
of its extended services. Examples include both, 
assembly language and Pascal code to illustrate 
software interrupts for DOS services, extended 
memory access, and much, much more. $21.95 


ASSEMBLY LANGUAGE PROGRAMMING 
WITH THE IBM PC AT 
LEO J. SCANLON 

Perfect for both beginners and experienced pro¬ 
grammers, you’ll find everything from the basics 
of computer numbering through to step-by-step 
instructions for using the IBM Macro Assembler. 
Clearly written, it presents logical groupings of 
the entire 80286 instruction set for quicker, easier 
learning along with complete coverage of BIOS 
and a library of over 30 macros for faster pro¬ 
gramming. It also covers graphics and sound 
control. $21.95 (Disk available) 


80286 ASSEMBLY LANGUAGE ON 
MS-DOS COMPUTERS 
LEO J. SCANLON 

Written for AT “compatibles,” Scanlon’s plain 
English, tutorial style covers a crash course in 
computer numbering, the fundamentals of 
assembly language, assemblers, and the 80286’s 
instruction set. The guide includes programs 
for doing high-precision arithmetic, sorting, 
and code conversions along with procedures 
for using Microsoft’s Macro Assembler, EDLIN, 
SYMDEB debugger, and LINK. $21.95 


PROGRAMMER’S PROBLEM SOLVER FOR 

THE IBM PC, XT, AND AT 

ROBERT JOURDAIN 

Here’s the ultimate reference source that 
includes over 150 solutions to common 
hardware-control tasks through high-level or 
assembly programming or system functions. 

It shows how to code for directory access, key¬ 
board macros, and advanced video and sound 
control. Complete discussions of graphics on 
the EGA, port and modem control, printer manipu¬ 
lation, and file operations answer just about 
every question that arises in programming inter¬ 
faces. $22.95 

Now at your book or computer store. Or order toll-free 
today: In New Jersey: 800-624-0024 

800 - 624-0023 


r. 


BRADY COMPUTER BOOKS 

I c/o Prentice Hall, 

P.O. Box 512, W. Nyack, NY 10994 

I Circle the numbers of the titles you want 
^ below. (Payment must be enclosed; or, use 
I your charge card.) Add $1.50 per order for 
1 postage and handling. Enclosed is check 

I for $_or charge to 

□ MasterCard □ VISA. 

1 1 (089303-580-7) 2 (089303-484-3) 


Exp. date 


Act. #. 

Signature 
Name 
Address 
City 

(New Jersey residents, please add applicable sales 
tax.) Dept. 3 GR-TECJ-BZ(O) 

3 (089303-618-8) 4 (089303-787-7) 


FORMULA/ONE 

swer: the output value. If the two sides 
differ by too great an amount, a new 
guess is generated, based on the pre¬ 
vious guess and according to an unspe¬ 
cified rule, and the process is repeated. 

Formula/One uses a single criter¬ 
ion for evaluating the correctness of an 
iteration—a comparison tolerance. This 
value, .000001 by default, is stored in 
the set-up sheet. The length of the itera¬ 
tive process is controlled by both the 
comparison tolerance value and a maxi¬ 
mum iteration count , also stored in the 
set-up sheet. The default for this count 
is 10 but it can be changed to any value 
from 1 to 999. 

With no separate list command, 
Formula/One determines the need for 
list processing based on the status fields 
of the variable sheet and repeats the so¬ 
lution process for each element of the 
shortest list—not including lists that ap¬ 
pear only as arguments of list functions. 
That is, the list solver repeats the solu¬ 
tion process as long as it has input val¬ 
ues and places to store them. If all the 
equations in a model do not reference 
all the list variables, the number of so¬ 
lutions may not be the same for each 
equation. If the first equation can be 
solved directly from the first set of in¬ 
put values, it will be solved repeatedly 
for each element in the shortest list 
before the second equation is solved. 

Formula/One does not complain 
about inconsistent or over-constrained 
models. When an equation is first de¬ 
fined, its status indicator is blank. After 
the model is solved, each equation will 
have one of two indicators displayed in 
its status field: a * meaning solved or a ? 
meaning unsolved. No indication is 
given if a model was overdefined 
(which is usually the case if input val¬ 
ues are assigned so that the number of 
unknowns is less than the number of 
independent simultaneous equations). 

In some cases, the program will display 
a status indicator of Z, with an accom¬ 
panying message, “Zero determinant, 
equations may be inconsistent.” 

Consequently, care must be taken 
in assigning input values, especially in 
models that require iteration for a cor¬ 
rect solution. If too many input values 
are assigned in such a model, the pro¬ 
gram may announce a solution solely 
with the use of the algebraic solver on 
selected equations, ignoring the remain¬ 
der. Fortunately, the program flags the 
unused equations with the ? indicator. 

The solve command is supple¬ 
mented by the solve new command 
(F4), which is mentioned in the help 
screen on solving and in the quick ref¬ 
erence card, but not in the manual. This 


PC TECH JOURNAL 























command solves any equations left un¬ 
solved by the first command, assuming 
that action has been taken to correct 
the condition that prevented a complete 
solution. If all equations are unsolved, 
the effect of the solve new command is 
identical to that of the solve command. 

THE RESULTANT DISPLAY 

For models that do not use lists (and 
following a successful solution), 
Formula/One displays the values of all 
variables in their respective value fields. 
The status held indicates which values 
were input by the modeler and which 
were output by the program. Results 
are displayed in display units if the 
appropriate conversion factors were 
defined in the units sheet and in 
calculation units otherwise. 

A second method of presenting re¬ 
sults is the display sheet, which lets the 
user define a custom input/output 
screen—the generated display. The dis¬ 
play sheet has four fields—header 1, 
name, format, and header 2. It can have 
92 lines, with each page displaying 23 
(line 24 holds error messages; line 25 
lists function key assignments). 

The generated display can make 
the user interface to a model even 
friendlier than the standard equation/ 
variable sheet display. Long field labels 
and instructions can be displayed to 
facilitate the use of the model by per¬ 
sons who have not learned to use the 
program. The cursor can be positioned 
only in data fields. Input values can be 
supplied, the model solved, and tables 
and plots displayed from the generated 
display. The modeler reaches the 
generated display via the dive command 
from the display sheet. 

For models that use lists, output 
lists can be examined singly by diving 
to the specific list sheet from the vari¬ 
able sheet. The preferred method to ex¬ 
amine the data of a list-based model, 
however, is to define tables or plots to 
display the list data. Tables and plots 
are defined in separate sheets. 

The table sheet permits specifica¬ 
tion of the display device (screen or 
printer), horizontal or vertical layout, 
header underline, a sort variable and 
sort order, the title, and the lists that 
will comprise the table. A table can in¬ 
clude as many as 10 lists. The format of 
each one can be specified individually, 
and a one- or two-line header can be 
displayed above each list. To display the 
current table—the one defined on the 
table sheet—the modeler uses the dive 
command (or F8). 

The plot sheet defines graphs or 
plots. Similar to the table sheet, the plot 



Speed Enhancement for the IBM PC or XT Microcomputers 


The PC SUPERCHARGER " by Dynatec is a plug-in board which vastly increases the operating speed 
ot your IBM PC, XT or compatibles. The SUPERCHARGER'S highspeed 8088-1 micro processor races 
at 9.54MHz - twice the normal speed of your PC. 

The SUPERCHARGER™ is Direct Memory Access (DMA) compatible, a special proprietary chip governs 
the system so it always runs within the optimum specifications outlined by IBM. “It accelerates on the 
straight aways and slows down on the curves.” While the SUPERCHARGER'" blazes through all 
your work, it maintains 100% compatibility with your software and hardware. 

Plugging into your computer's microprocessor socket, the SUPERCHARGER™ leaves all slots free for 
memory, video, modem, and other peripheral boards. Select normal or high speed by flipping a switch 
which mounts on the back panel of your PC; no cutting or drilling needed. You can even flip the switch “on 
the fly,” no turning off or rebooting to change speed. 

Productivity is the name of the race these days, the SUPERCHARGER™ saves you time. After all isn't 
that why you bought a computer? You’re paying for a SUPERCHARGER ™ in lost time, you’re just not 
receiving the benefits of having one. 

The SUPERCHARGER™ ... Super fast.. .Super compatible... and very affordable. Get Super¬ 
charged not overcharged. 

FEATURES 

No Expansion slot required-leaves open for mem- High-Normal speed switch (included) 

ory, color CRT, modems, etc. Easily installs in 20 minutes. 

Compatibility - You want to run your favorite soft- Completly DMA compatible 

ware faster, now you can. Speed - all operations—memory access, 1-0 

Totally “transparent” -once installed you some- functions, screen writes, even the new high cap- 

times forget its there. acity memory and high resolution graphics boards. 


Dealer Inquires Invited 

Dynatec Systems Inc. 

870 East 9400 South 103-B 
Salt Lake City, UT84070 
1-800-367-3613 orders only 
(801)572-1568 


Suggested Retail 
$ 299°° 


IBM is a registered trademark of International Business Machines Inc. 
SUPERCHARGER is a trademark of Dynatec Systems Inc. 


JUNE 1986 


CIRCLE NO. 225 ON READER SERVICE CARD 


117 








FORMULA/ONE 


sheet permits specification of the dis¬ 
play device (screen or printer), as well 
as the status of the display of scales 
along the x and y axes. One field specif¬ 
ies the list variable associated with the x 
axis, and up to 10 list variables can be 
specified for display on the y axis. 

Formula/One plots are produced 
with characters, not as graphics, regard¬ 
less of the graphics capabilities of the 
display device. This is true for both 
screen and printer displays. Plots can be 
produced by pressing dive (>) from 
the plot sheet or F10 from any other 
sheet in the model. 

NAVIGATING 

Most models require the use of several 
sheets, any two of which can be dis¬ 
played on the screen at any given time. 
Several commands are devoted to 
moving around within the model. 

As discussed above, the session 
begins with the display of the equation 
and variable sheets, with the cursor 
positioned in the first row of the equa¬ 
tion sheet. The cursor arrow keys, along 
with Home, End, PgUp, and PgDn, are 
used to move the cursor around the 
current sheet. The switch sheet com¬ 
mand moves the cursor between sheets 
in a two-sheet display. With these keys, 
the cursor can be positioned anywhere 


in the current virtual display, consisting 
of the entire equation sheet and the 
rows of the variable sheet that contain 
entries, plus one blank line immediately 
below the last entry. 

The window command (/W) is 
used to toggle the display between a 
single-sheet and a two-sheet format. In 
changing from a two-sheet display to a 
single sheet, the sheet in which the cur¬ 
sor is located when the command is 
executed will remain on the screen. In 
moving from a single sheet to a 
two-sheet display, the sheet previously 
removed is returned. 

To change the sheet completely 
from any of the main sheets—equation, 
variable, display, table, plot, curve, re¬ 
gression analysis, unit, and set-up—the 
goto command (=) is used. Executing 
this command (except during the entry 
of an equation) displays a list of sheet 
names on the bottom line of the screen. 
The desired sheet is selected by typing 
the first letter of its name. Goto is not 
available directly from list sheets or 
from plot, table, or generated displays; 
from any of these sheet, the return key 
(<) or Esc must be pressed first. 

Formula/One includes a context- 
sensitive help facility. Help is invoked 
by pressing the ? key, but only when 
the program is waiting for a com¬ 


mand—help is not available during the 
entry of an equation or value. The help 
hie is hierarchical in organization and 
quite responsive. The modeler chooses 
a page by locating the cursor in a spe¬ 
cific sheet and held. Each page has pa¬ 
ragraphs of text and a menu of addi¬ 
tional, related topics. Common to all 
help pages is a line of instructions for 
proceeding to the next page (Return), 
returning to the previous page Q, and 
leaving the help function (Esc). 

FUNCTIONS 

Formula/One includes an extensive 
complement of math, conditional, list, 
and special functions. The standard 
math functions are provided—trigo¬ 
nometric, inverse trigonometric, loga¬ 
rithmic, and exponential—and 12 differ¬ 
ent forms of the IF statement comprise 
the conditional functions. Table 1 de¬ 
scribes the list and special functions. 

Functions, along with the appro¬ 
priate arguments, can be included in 
expressions wherever a simple variable 
can be used. Functions generally share 
the syntax, Y — f(X), where X is a 
variable, a constant, or an expression, 
which may contain nested functions. 

Formula/One’s math functions are 
straightforward, as are most of its spe¬ 
cial functions. Several list functions re- 



Eco-C88 is a full C compiler for MSDOS machines. Everything you need is included 
in the low price of $59.95, including a full-screen editor. Here’s what some 
reviewers are saying about the Eco-C88 C Compiler: 


“Eco-C performed well on all the benchmarks, generating code that 
was quite comparable to that of compilers 10 times as costly.” 

Christopher Skelly, Computer Language, Feb., 1986 

“This compiler does handle syntax errors much better than average 
- no avalanche of spurious messages here.” 

William Hunt, PC Tech Journal, Jan., 1986 

“Eco-C88 is a high-quality package... convenient to use...” 

Dr. David Clark, Byte, Jan., 1986 

“Eco-C is definitely a bargain... it includes both the compiler and an 
excellent Turbo-style editor... a useful compiler for advanced applications, 
and will serve far beyond the beginning phase.” 

Gary Entsminger, Micro Cornucopia, April-May, 1986 

The compiler comes with a standard library of over 200 functions, cc 
and “mini-make” utilities, ANSI language enhancements (e.g., 
prototyping), expanded user’s manual, plus much more, all for the low 
price of only $59.95. Also ask about our support products! 


If ordered with the compiler, the C library source code (excluding transcen- 
dentals) is $10.00 and the ISAM file handler (as published in the C 
Programmer’s Library, Que Corp) in OBJ format is an additional $15.00. Please 
add $4.00 for shipping and handling. To order, call or write: 

Ecosoftlnc. , ____ 

6413 N. College Avenue 1-800-952-0472 

Indianapolis, IN 46220 (orders only) 

(317)255-6476 • 8:30-4:30 
CIRCLE NO. 131 ON READER SERVICE CARD 

Trademarks: Eco-C88, Microstat (Ecosoft), CP/M (Digital Research), MSDOS (Microsoft), PC-DOS (IBM), Z80 (Zilog), 8086, 8087, 8088 (Intel). 


We’ve continually improved Microstat since it was introduced in 1978, and 
the latest release includes many new features you’ve wanted. 


Interactive and Batch Processing 

Expanded Data Management 
Subsystem with New Data 
Transforms 

Reading data files created by other 
programs (e.g., Lotus) 

3 types of Analysis of Variance 

Time Series 

Crosstabs and Chi-Square 

Factorials, Permutations, and 
Combinations 

Hypothesis Tests 


Data sets that can exceed memory 

Multiple Regression (including 
Stepwise) 

Scatterplots (including best fit 
regression) 

Correlation Analysis 

12 Nonparametric tests 

8 Probability Distributions 

Descriptive Statistics 

Easy Installation 


Microstat’s algorithms have been designed to prevent numeric overflow errors 
and yield unsurpassed accuracy. Microstat’s price is $375.00 including the 
user’s manual and is available for the Z80, 8086, 8088 CPU’s and CP/M80, 
CP/M86, MS-DOS, and PC-DOS. To order, call or write. 



















































































TABLE 1: Special Functions 


LIST FUNCTIONS 

COUNT(LIST) 
CORR(LISTl ,LIST2) 

Returns the number of elements in list 

Returns the correlation coefficient of two lists 

DPOLY(X,LIST) 

DOT(LISTl ,LIST2) 

Returns the value of the derivative of the polynomial 
whose coefficients are stored in list, evaluated at x 

Returns the dot product of the vectors stored in two lists 

IPOLY(X,LIST) 

MAX(LIST) 

Returns the value of the integral of the polynomial 
whose coefficients are stored in list, evaluated at x 

Returns the largest value stored in list 

MIN(LiST) 

MVAVG( I.IST.XY') 

Returns the smallest value stored in list 

Returns the average of a: elements of list, beginning with 
element y 

NPV(R,LIST) 

POLY(X,LIST) 

Returns the net present value of list at rate r 

Returns value of polynomial whose coefficients are 
stored in list, with variable = a: 

STDEV(LIST) 

SUM(LIST) 

SUMSQ(LIST) 

USE(X,LIST) 

VAR(LIST) 

Returns the standard deviation of list 

Returns the sum of the elements of list 

Returns the sum of the squares of the elements of list 
Returns the value of the xth element of list 

Returns the variance of list 

MISCELLANEOUS FUNCTIONS 

ABS(X) Returns the absolute value of a: 

ATAN2(X,Y) Returns the arc tangent of x/y 

CASHF(X,Y,Z) Returns the cash flow per term required to produce the 

net present value x, at interest rate y, for term z 

ELT() Returns current element number during list solve 

FACT(X) 

INT(X) 

Returns x!, factorial of a; 

Returns the integer portion of real number a; 

INTEG(FX,XAB,N) 

Returns the value of the function fx, integrated with re¬ 
spect to x, over the interval a to b, using Simpson’s 

Rule —n is an optional number of subintervals, which 
defaults to 10 

MOD(X,Y) 

SIGN(X) 

Returns the remainder produced by x/y 

Returns 1 if x > 0, 0 if x = 0, and — 1 if x < 0 


Formula/One is notable for its many specialized functions: mathematical functions 
for polynomials and statistical functions for series. This program also provides the 
standard math functions, along with their inverses. 


semble those of advanced spreadsheets. 
The polynomial and element-related 
functions probably will be new to 
spreadsheet users moving up to equa¬ 
tion solvers. The elt( ) function is a 
pointer that provides a value equal to 
the position of the list solver, as it steps 
through the lists. This pointer can be 
used as the base of a calculation to ac¬ 
cess elements of a list other than the 
current element. The use(...) function 
actually retrieves the value of a specific 
element of a list. Used in conjunction 
with the elt() function, use(...) is avail¬ 
able for various numerical methods, 
such as difference functions, numerical 
differentiation, and integration. 

The polynomial functions provide a 
way of working with integrals and de¬ 
rivatives (assuming the program’s built- 
in method is satisfactory). The statistical 
functions simplify the construction of fi¬ 
nancial and statistical models. 


The conditional functions simplify 
the construction of models that must 
accommodate piecewise functions. 
Systems that must be described by 
different equations in different regimes 
require models composed of several 
equations using the same variables. 
Conditional functions can provide 
logical multipliers to select the proper 
equations, based on the value of one or 
more parameters. 

Although Formula/One includes a 
powerful assortment of list functions, all 
of them are limited by the manner in 
which the program handles the assign¬ 
ment of variable values. As noted above, 
a variable cannot be assigned a string 
value unless the its status is set to S; 
this makes it a list variable. As a result, 
list functions accept quoted lists only. A 
variable that holds the name of a list is 
not a valid parameter; neither is a func¬ 
tion that returns a list. 


C 

DYNAMO 

FREE! 

PCUNIX™ 

(WITH ANY PURCHASE OF $250 OR MORE. 

LIMITED TIME OFFER) 

LIBRARY: 325 fully tested functions 
screen handling/graphic, cursor/ 
keyboard/data entry string handling, 
status and control, utility/DOS/BIOS/ 
time/date, printer control, 4 disks 

$129.95 

WINDOWS: The most powerful 
windowing package available, 
overlays, borders, piop-up menus/ 
help windows, zap instantly on/off 
screen, status lines, horizontal/ 
vertical scrolling, color control/ 
highlighting, word-wrap, files to 
windows, keyboard to windows 
3 disks $129.95 

SUPERFONTS FOR C: Dramatic, 
high impact screens. Use our 
character & image libraries and 
functions, or create your own. 

Font & Function Library $49.95 

B-TREE LIBRARY: Fast indexing 
B-tree. 16 million each: keys and 
records, unlimited keys per file, 
variable length records. PC-DOS, 
UNIX, XENIX, CP/M. $79.95 

ISAM DRIVER: $49.95 

COMPATIBILITY: PC/XT/AT; Full 
K&R, Cl-C86/De Smet/ Lattice/ 
Microsoft 3.0/Aztec/others. 

VALUE: All source code, No royalties. 
Best documentation available. 

No matter what else 
you have, you need these. 

C-TERP: Simply the best C 
interpreter available. See C Journal 
Summer 1985 

C-TERP (specifycompiler) $299.95 

PCUNIX: Multi-tasking, networking 
multi-user. With source code $99.95 
™ Wendin Software 

COMBINE AND SAVE! 

C LIBRARY plus C WINDOWS 


BOTH for only .$179.95 

+ SUPERFONTS FOR C .$199.95 
+ B-TREE and ISAM _$299.95 

(A $440 VALUE) 

C LIBRARY plus C WINDOWS 
+ SUPERFONTS 

+ C-TERP (a $610 value) . . . . $459.95 

All (a$740value) .$549.95 


€ntelekon 

12118 Kimberley, Houston, TX 77024 
713-468-4412 
VISA MASTERCARD CHECK COD 


CIRCLE NO. 158 ON READER SERVICE CARD 

119 


JUNE 1986 















FORMULA/ONE 


Noticeably absent is a facility for 
defining user functions. (TKJSolver pro¬ 
vides a mechanism to create a user 
function by associating two lists, one as 
the domain, the other as the range. Val¬ 
ues can be mapped in three ways.) 
Without such a facility, Formula/One 
cannot accommodate empirical func¬ 
tions (such as step functions) exactly, al¬ 
though the curve-fitting facilities de¬ 
scribed below offer some capability. 

CURVES AND OTHER SHEETS 

Formula/One includes built-in curve-fit- 
ting and regression-analysis facilities, 
with individual sheets devoted to each. 
The curve sheet has five fields that de¬ 
fine the curve-fitting parameters. The 
first two fields—dependent variable and 
independent variable—are input fields 
for the names of list variables. Both lists 
contain values. The third held indicates 
the name of a list in which the program 
will store the coefficients of a polynom¬ 
ial that will describe the relation be¬ 
tween the two data lists. The fourth 
held indicates the degree of the poly¬ 
nomial to be ht to the data. The last 
held, the correlation coefficient, is an 
output held that displays a measure of 
the “goodness of ht.” 

A curve-fitting session begins with 
the variable sheet. The hrst step is to 
enter the names of the desired lists in 
the name held. Then, each variable is 
assigned L(ist) status. Next, the size of 
each list is set to accommodate the 
required list of values. Finally, the 
independent and dependent variable 
lists are filled with values. 

The curve sheet is then accessed 
with the =C command, and the list vari¬ 
able names are entered, along with the 
degree of the desired polynomial. En¬ 


tering the solve command (or pressing 
F9) causes the program to generate the 
coefficient list and the correlation coef¬ 
ficient. By starting with a low degree, 
and increasing it, the data can be ht 
with a curve of the lowest degree that 
produces an acceptable ht. Once the 
curve has been ht, the modeler has a 
polynomial that can be used as an 
approximation of an empirical relation. 

Whereas the curve sheet provides 
the modeler with a method of htting a 
polynomial of degree 9 or less to a de¬ 
pendent variable as a function of a sin¬ 
gle independent variable, the 
regression-analysis sheet provides a 
method of htting a linear, or hrst-order 
function, of several independent vari¬ 
ables to a dependent variable. The re¬ 
gression-analysis sheet is similar to the 
curve sheet, but instead of a single in¬ 
dependent variable held, it has 10 rows 
of helds. Each row has a held for the 
name of an independent list variable 
and for a corresponding coefficient. The 
sheet also contains an output held la¬ 
beled intercept, which displays the con¬ 
stant term of the resulting polynomial. 

The regression-analysis sheet can 
produce a polynomial that describes the 
relationship among several lists, and the 
signihcance of each independent vari¬ 
able in the relation. The resulting poly¬ 
nomial can be used to predict the value 
of the dependent variable, or the most 
signihcant variables can be used in a 
simpler polynomial. This facility also 
accommodates empirical relations. 

The set-up sheet contains some 
previously discussed fields: maximum 
iteration count, maximum list length, 
comparison tolerance. These helds 
determine the global default list size, as 
well as the parameters that control 


iteration. Another held, intermediate 
redisplay/controls whether the results 
of intermediate calculations are dis¬ 
played during a solution. 

This sheet also has a comment 
held, for model identihcation (ID), 
which is displayed when the disk direc¬ 
tory is called from within Formula/One. 
The remaining helds control communi¬ 
cation with the output device. For the 
PRN list device, the printer width and 
page length can be set. If the output is 
to be sent to a disk hie for printing at a 
later time, via the print command (/P) 
for example, the hie name is entered in 
the printer or hle-name held. 

The ability to send printed output 
to a disk hie permits the data from 
table and plot sheets to be incorporated 
into word processor data hies, and to 
be edited. The contents of any sheet 
can be printed using /P, or sent to a 
disk hie. Thus, an entire model can be 
incorporated into a report, via a word 
processor data hie, or sent to a database 
management program. 

MOVING AND STORAGE 

Formula/One models are contained 
completely in RAM, but they can be 
saved to disk at any time with the save 
command (/S); the program requests a 
name for the storage hie. A model can 
be stored in stages as it is developed. 

Models are recalled from disk 
using the load command (/L), which 
copies the disk hie into memory with 
no modihcations. The load command 
also will prompt for the name of the 
hie to be loaded. Both the save and 
load commands will list the model hies 
on the current disk or a specihed disk, 
with ID held data, if available, displayed 
adjacent to the hie name. 


TRUE MULTI-TASKING! 


TASKVIEW is high tech, available now, and it works with virtually all DOS software. 
Give Lotus, Sidekick, Multimate or most any DOS program the advantages of real multi¬ 
tasking. It’s simple to use, compatible, bulletproof and most of all, it won’t slow you 
down. That’s because TASKVIEW only shares your computer when YOU want it shared. 
At other times, your visible program runs at full speed, waiting for you to easily 
switch from program to program at the touch of a key. Compatible with most DOS 
computers including the IBM PC/XT/AT/Jr. series, you can order TASKVIEW today 
for only $69-95 + 5.00 Shipping and Handling, VISA and Mastercard. 


ORDER LINE 

(206) 367-0650 

30 Day Money Back Guarantee. 


Taskview trademark Sunny Hill Software. 
Lotus trademark Lotus Development Corp. 
Sidekick trademark Borland Inti. 
Multimate trademark Ashton Tate. 


Sunny Hill 
Software 

13732 Midvale North Suite 206 
Seattle, Washington 98133 


© 


CIRCLE NO. 152 ON READER SERVICE CARD 


120 


PC TECH JOURNAL 













Especially Turbo Pascal users! 


f, you can cross the bridge to Modula- 

This is Modula-2 at its absolute best. It’s a fully integrated development 
environment that takes into account what you need as a programmer. Without leaving 
the Editor, you can call the compiler, linker and utilities. 

With Logitech’s Modula-2, you’ll have the ability to edit several files at once, 
comparing, window to window, various code modules. You can even move from 
window to window compiling, linking, debugging and running. 

The compiler has the kind of power and room to breathe that you really need in 
today’s complex applications. It is as easy to use as Turbo Pascal, without your 
programs being limited to 64K of code. 

At your command will be the libraries of modules that make Modula-2 a 
programmer’s dream. It has essentially the same structure as Pascal with the major 
addition of a library organization of code modules that allow you to put together 
programs on a solid, block-by-block, foundation of proven code. 

Whether you’re working with a module of your own making, or one of the many in 
our library, you’ll find the system by which each module is identified, described and 
stored an organizational masterpiece. And that’s at the heart of Modula-2. 

Underneath the sophisticated system is a Modula-2 compiler that is the result of 
years of development and proven use in industry. We run on the Vax*, and we run on 
the IBM PC. And the code is portable-from one to the other. 

Best of all . . . you can have it right now! 


2 with ease. 

To place an order call our special toll free number 

800 - 231-7717 

in California 

800 - 552-8885 


Logitech Modula-2/86 Complete with Editor, 
«jqa Run Time System, Linker, Cursor-posi- 
my tioning debugger, 8087 Software Emula¬ 
tion, BCD module, Logitech’s extended 
library, Utility to generate standard .EXE 
files, Turbo Pascal (and standard Pascal, 
too) to Modula-2 translator (included 
without charge until 8/1/86), and much, 
much more! 

Logitech Modula-2/86 with 8087 support Even if 
SlOQ^ ou haven t y et g° tten an 8087 co-pro- 
^IZy cessor, you can still use this version. 

Logitech Modula-2/86 Plus For machines with 
<t<-|qq 512K or more. Takes advantage of the 
larger memory to increase compilation 
speed by 50%! Supports 80186 and 80286 
as well as 8086 and 8088. Includes 8087 
and 80287 support, too. 

Window Package Now you can build true win¬ 
dowing into your Modula-2/86 code with 
ease, too. Very powerful and very full, yet 
only 15K in size. Features virtual screens, 
color support, overlapping windows and a 
variety of borders. 


$49 


Run Time Debugger (source level) Much more 
SAO P ower ^ u * f h an just a symbolic RTD. 
Display source code, data, procedure call 
chain and iaw memory. Set break points, 
assign values to variables; pinpoint and 
identify bugs in your source. The ultimate 
professional’s tool! 

Utilities Package Features a post-mortem de¬ 
bugger for static debugging. If a program 
you’ve written crashes at run time, the 
situation is frozen, and you can pinpoint, 
in source, the cause of the error and the 
data at that moment. Also includes a 
disassembler, a cross reference utility and 
a “version” utility that allows conditional 
compilation. 

Make Utility Automatically selects modules af- 
fected by code changes for quick and 
minimal re-compilation and relinking. 
Even figures out dependencies for you. 
Library Sources Source code for our major library 
SQQ mo< ^ u ^ es ls now available-for customiza- 
*yy tion or exemplification. 

ROM Package If you need to produce rommable 
code, call our 800 number for further 
information on this package. 


w I’d like to take the next 
16 S 5 logical step in programming. 

Please send my copy of Logitech Modula-2/86 
to the following address: 

□ VISA □ MasterCard □ Check Enclosed 


Card Number 

Signature 

Expiration Date 

Name 


Address 


City 



State- 


-Phone (_ 


Here’s the configuration I’d like: And include the indicated items: 

□ Logitech Modula-2/86 $89 □ Window Package $49 

□ Logitech Modula-2/86 $129 □ Run Time Debugger $69 

with 8087 support (source level) 

□ Logitech Modula-2/86 Plus $189 □ Utilities Package $49 

Please add $6.50 for shipping O Make Utility $29 

and handling. □ Library Sources $99 

Total enclosed $_ 

(California residents, please add applicable sales tax) 

LOGITECH 

LOGITECH, Inc. 

805 Veterans Boulevard 
Redwood City, California 94063 
Telephone (415) 365-9852 

For European pricing, please contact: 

LOGITECH SA 

Box 32, CH-1143 Apples, Switzerland 
Telephone 41 (21) 774545 



CIRCLE NO. 229 ON READER SERVICE CARD 


’Turbo Pascal is a registered trademark of Borland International 
























Dcits. 

Defense! 


with FastbacK 

Before your valuable data comes under fire from a hard 
disk crash, is annihilated due to an accidental reformat, 
or destroyed by any other frontal attacks, get FASTBACK. 
With FASTBACK, you can defend your valuable data 
from loss ivithout spending a fortune on a clumsy tape 
backup system. For just $179, FASTBACK is the software 
backup utility that consistently outperforms tape systems 
costing $1000 to $2000 or more — on your present floppy 
disk drive. 

The best defense is a good offense. 

FASTBACK attacks the danger of data loss at its source: 
slow, hard-to-use backup procedures. Let's face it, if you 
have to spend hours to back up your full hard disk (as you 
do with the DOS "BACKUP" utility), you're not going 
to do it very often. But with FASTBACK you can back up 
a full 10 megabytes in just 8 minutes flat (4 minutes on the IBM 
PC-AT)! So you can back up every bit of data every day, 
without even missing a coffee break. 


But is it bullet-proof? 

We won't guarantee your backups will be bullet-proof, 
but we've stapled them, nailed them, and even punched 
a hole bigger than a .22 calibre slug right through one — 
without losing a single byte of data! FASTBACK's ad¬ 
vanced error-correction algorithms push safety to the 
very limits of human ingenuity. That's Data Defense! 

Be safe, not sorry. 

FASTBACK is fully self-contained, and works with any 
make or size hard disk running on any IBM™ PC or 
compatible (requires PC-DOS™ or MS-DOS™ version 2.0 
or higher and at least one floppy disk drive). It is fully 
file-oriented (not a "disk image"), menu-driven and easy 
to use, with built-in safeguards that make it virtually 
"fool-proof". 

So get the safe solution, and get it fast. Get FASTBACK 

toda y =_ Fifth 

. ~ = Generation 

SYS T E M S 

909 Electric Ave Suite 202, Seal Beach, CA, 90740; 7942 Picardy Ave 
Baton Rouge, LA, 70809; Tel : 1-800-225-2775 or (213) 493-4483 



Marketing and Sales by CSSL, Inc. 


‘This product is in no way associated with or has origination in Fisher Scientific or Allied Corporation. IBM-PC, IBM-XT, IBM-AT and PC-DOS are 
registered trademarks of International Business Machines Corporation. MS-DOS is a registered trademark of Microsoft, Inc. 

CIRCLE NO. 108 ON READER SERVICE CARD 











FORMULA/ONE 


Models can be saved in their en¬ 
tirety or in modules. The options of the 
save command are: all sheets, the equa¬ 
tion sheet, the variable sheet and asso¬ 
ciated lists, and the unit sheet. These 
options permit the accumulation of li¬ 
braries of equations, variables, variable 
lists, and lists of unit conversion factors. 
Thus, models can be assembled from a 
library of modules, instead of being 
constructed from scratch every time. 
Loading a model does not cause the 
current model to be overwritten. 

FINISHING TOUCHES 

The documentation comes in an IBM- 
style binder. Most of the material is a 
tutorial that takes the new user through 
the entire program using simple mod¬ 
els. The distribution disk contains a 
similar tutorial program. The latter por¬ 
tion of the manual is appendices that 
contain the essential reference mater¬ 
ial—function syntax, equation syntax, 
and so on. Once the modeler learns the 
commands, the appendices become the 
most important part of the manual. 


The Formula/One package also in¬ 
cludes a program on disk called 
ONE23. This file-conversion utility trans¬ 
lates Formula/One data hies into a 
format that can be read by other pro¬ 
grams, including spreadsheets and data¬ 
base management systems. The transla¬ 
tion is accomplished using comma-de¬ 
limited data hies, which also facilitates 
the production of user programs to ac¬ 
cess the model hies in BASIC, for exam¬ 
ple. ONE23 also will transfer data di¬ 
rectly to and from Lotus 1-2-3 .WKS 
hies, without having to use intermediate 
data hies. ONE23 can be used in either 
interactive or batch mode. 

Formula/One is written expressly 
for the IBM PC and compatibles. Its 
hardware requirements are one floppy- 
disk drive, 192KB of RAM, and an 80- 
column display, color or monochrome. 
The program is copy protected (but it 
can be installed on a hard disk). A hard 
disk will load, save, and retrieve models 
faster, but because a model is contained 
completely in RAM, the hard disk offers 
no speed advantage to creating and 


solving. Formula/One was reviewed on 
a PC, a PC/AT, and the AT-compatible 
Fleath/Zenith H/Z-200. All three ex¬ 
ceeded the minimal hardware require¬ 
ments; no problems were encountered. 
Two distribution disks are furnished, 
and each disk can be installed twice; 
the program also can be uninstalled. 

The model designer who thinks in 
terms of mathematical constraints and 
equations will like the Formula/One ap¬ 
proach. This program offers a most 
straightforward transformation of text¬ 
book-style mathematical models into 
computer-automated form. 

Formula/One: $395 

Alloy Computer Products, Inc. 

100 Pennsylvania Avenue 
Framingham, MA 01701 
617/875-6100 

CIRCLE 347 ON READER SERVICE CARD 


Victor E. Wright is manager of process engi¬ 
neering at Luckett & Farley in Kentucky. He 
has a degree in industrial management from 
the University of Cincinnati. 


A SAMPLE PROBLEM 

Stress Analysis. A fixed 
crane has a mass of 
1,000 Kg (kilograms) 
and is used to lift a 
2,400-Kg crate. It is — 
held in place by a pin 1.5 m 
at A and a rocker at B. -i— 

The crane s center of 
gravity is at G. Deter¬ 
mine the reaction com¬ 
ponents at A and B. 

Solution. A free-body diagram of the crane is drawn. Mul¬ 
tiplying the masses of the crane and of the crate by g = 
9.81 m/s 2 obtains the corresponding weights, that is, 9,810 
N (newtons) or 9.81 
KN (kilonewtons), and 
23,500 N or 23.5 KN. 

The reaction at pin A 
is a force of unknown 
direction, represented 
by its components A Y 
and \. The reaction of 
the rocker B is per¬ 
pendicular to the 
rocker surface; thus it 
is horizontal. It is assumed that A x , A^,, and B will act in 
the directions that are shown. 

To determine B, the statement expresses first that the 
sum of the moments of all external forces about point A is 
zero. The equation obtained will contain neither A x nor A>, 
because the moments of A Y and A,, about A are zero. Mul¬ 
tiplying the magnitude of each force by its perpendicular 
distance from B: 


+ )lM A = 0 : +£(1.5 m) - (9.81 KN) (2 m) - (23.5 KN) (6 m) - 0 

£ = +107.1 KN B = 107.1 KN 

Because the result is positive, the reaction is directed as 
assumed. The magnitude of A x is determined by express¬ 
ing that the sum of the horizontal components of all exter¬ 
nal forces is zero: 

i If^O: ^ + £ = 0 A x + 107.1 KN - 0 

-107.1 KN ' A x = 107.1 KN<- 

The result is negative, so the sense of A Y is opposite to 
that assumed originally. In determining A^, the sum of the 
vertical components must also equal zero: 

+ T l F y = 0 : Ay - 9.81 KN - 23.5 KN - 0 

Ay = +33.3 KN Ay, = 33-3 KNT 

Adding vectorially the 
components A Y and A>, 
reveals that the reac¬ 
tion at A is 112.2 KN at 
17.3 degrees to the up¬ 
per left (when 0 de¬ 
grees is horizontally 
left on the diagram). 

The values that 
were obtained for the 

reactions may be checked by recalling that the sum of 
the moments of all external forces about any point must 
be zero. For example, considering point B: 

+ U M B = - (9.81 KN) (2 m) - (23.5 KN) (6 m) + (107.1 KN) (1.5 m) = 0 
Kg = kilograms KN = kiloneu'tons m = meters 

Formula/One solves this problem in figure 3 on page 115. 





This material was obtained from Vector Mechanics for Engineers by Beer and Johnston (1977), courtesy > of McGraw-Hill Book Company 


JUNE 1986 


123 


































FORMULA/ONE 


FORMULA/ONE VERSUS TK!SOLVER 


PC Tech Journal’s review of TKISolver 
in September 1985 came virtually on 
the heels of Lotus’s acquisition of Soft¬ 
ware Arts (the creator of the pro¬ 
gram). Lotus formed a new division, 
apparently to support TKISolver, but 
never released a Lotus version. It 
would serve no purpose to compare 
Formula/One and TKISolver if that sit¬ 
uation had not changed: Lotus has 
since sold TKISolver to Universal 
Technical Systems (UTS). The en¬ 
hanced and repackaged version 1.6 of 
TKISolver is now on the market. 

When Formula/One was intro¬ 
duced, it was much faster than the 
then-current version of TKISolver, 
which was written is an obscure Soft¬ 
ware Arts language. Subsequent modi¬ 
fications have improved TK’s speed; 
the most significant change has been 
compilation. Software Arts had in¬ 
cluded a machine-specific interpreter 
and a machine-independent program. 
The UTS version is a combination of C 
and assembly language-—its speed is 
now on a par with Formula/One. As a 
benchmark, three equations 

x + 3 cos h(y) + Iz = 5 
e x + y + z = 1 
x - y = cos(z) 

were solved for x, y, and z with both 
programs. TKISolver solved the equa¬ 
tions in 40 percent less time than 
Formula/One (6.3 seconds versus 10.0 
seconds on a PC/AT). 

THE NEW TKISOLVER 

TKISolver version 1.6 also adds several 
features that are similar to those of 


FIGURE 1: Iterative Solution 


Formula/One: function key support, 
color displays, foreign character sup¬ 
port, and full-word prompts. 

At a more practical level, TK 1.6 
adds an if...then rule form that greatly 
simplifies the construction of models 
that must incorporate a branching 
capability. With this construct, a user 
can write a rule in the form 

If shape = circle then area = pi * radius 2 

Formula/One provides a similar capa¬ 
bility in the form of the conditional 
functions ifeq(...), ifne(...), ifge(...), 
ifgt(...), ifle(...), iflt(...). 

Formula/One and TKISolver are 
based on essentially the same concept, 
but they approach modeling in slightly 
different ways. Formula/One provides 
a powerful set of built-in functions; TK 
does not. However, TK permits the 
definition of user functions. (TK2, 
highlighted in a sidebar with the 
TKISolver review, promises procedural 
user functions.) Many of Formula/ 
One’s built-in functions can be dupli¬ 
cated with TK’s list solver, although 
this process adds to development 
time. The introduction of procedural 
user functions should cut develop¬ 
ment time for equation-solving pro¬ 
grams in general. 

Consider Formula/One’s built-in 
functions for evaluating polynomials. 
Poly(x, list) is the counterpart of the 
TK function of the same name, but 
ipoly(x, list) and dpoly(x, list) also 
are provided to evaluate the integral 
and derivative of the polynomial in .x 
with coefficients stored in list. Dupli¬ 
cating these functions in a TKISolver 


model requires the construction of a 
model within the model. 

Even more attractive than 
ipoly(...) and dpoly(...) is the 
Formula/One integ(fx,x,a,b,[n]) func¬ 
tion, which evaluates the integral of 
the function fx on x, between the lim¬ 
its a and b, using Simpson’s Rule. This 
procedure is a numerical method for 
finding the area under a curve (which 
is the definition of the integral of a 
function) by evaluating the function at 
a number of intervals and summing 
the products of the value of the func¬ 
tion and the interval width. Simpson’s 
Rule provides increasing accuracy with 
smaller intervals, which can be speci¬ 
fied by the optional argument, n. 

(This function approximates integrals 
numerically and should not be con¬ 
fused with true symbolic integration, 
which neither program includes.) 
Nonetheless, integ(...) is certainly a 
worthwhile function, and many com¬ 
plex integrals can only be approxi¬ 
mated, not solved exactly. 

Business modelers will appreciate 
other Formula/One built-in functions, 
such as cashf(x,y,z), which returns a 
cash flow per term, and npv(rate, 
list), which returns the net present 
value of a list of cash flows. Of course, 
these functions can be duplicated in 
TKISolver, but only at the expense of 
development time. 

ITERATIVE SOLUTIONS 

Formula/One and TKISolver differ in 
program organization in several ways. 
For one thing, Formula/One provides 
two sheets for which TK has no coun- 


FIGURE 2: Graphical Solu tion 


=============================== Equation Sheet ========================== 

St Equation 
A+B=C*D 

sin(C-A)=ln<E/F) 

St Name Value Dsp Unit Cal Unit Comments 

A 

I B 3.4 

C 

I D 1.325 

I E .567 

I F .25 


=============================== Equation Sheet ======= 


St Equation 


* A+B=C*D 

* error+sin(C-A)=ln(E/F) 



St 

Name 

Value 

Dsp Unit Cal Unit Comments 

0L 

A 



I 

B 

3.4 


IL 

C 



I 

0 

1.325 


0L 

error 



I 

E 

.567 


I 

F 

.25 



Formula/One and TKISolver use iteration to find values of 
A and C that satisfy equations on the above sheet. 
TKISolver requires initial guesses while Formula/One gen¬ 
erates its own guesses if none are provided. 


Both programs offer an alternative: given a range of val¬ 
ues for C, the solver computes values of A and error. 

Both packages can produce the plot in figure 3, indicat¬ 
ing an infinite number of C values for which error is zero. 


124 


PC TECH JOURNAL 































terparts: curve fit and regression 
analysis. These built-in capabilities 
save the modeler considerable time. 

Formula/One and TKISolver also 
differ in solution strategies, particu¬ 
larly their iterative solvers. Both use 
guess values for selected variables and 
solve the model repeatedly, compar¬ 
ing the results of each solution to 
those of the previous iteration. When 
the results of two iterations differ by a 
preset value, the program considers 
the model solved. Both programs use 
a comparison tolerance value to make 
the determination. In addition to this 
comparative value, however, TK uses a 
typical value to scale the comparison 
tolerance for use with very small or 
very large values. 

Both programs require iterative 
solving under similar circumstances; 
for example, expressions that cannot 
be factored in the unknown variable 
must be solved iteratively. TK requires 
guess values to be input; Formula/One 
does not. The Formula/One manual 
does concede that guess values should 
be entered in some cases, most nota¬ 
bly for models with multiple roots. 

The figures point out other differ¬ 
ences. Given the set of input values in 
figure 1, TK and Formula/One do not 
produce identical results, although 
both yield good approximations of the 
solution. TK requires that C be set to 
G(uess) status, while Formula/One 
sets both A and C to G automatically. 
On a PC/AT (6 MHz), Formula/One 
took about 10 seconds to solve the 
model in 12 iterations (and required 
that the solve command be given 
twice unless the maximum iteration 
count were raised beforehand). 
TKISolver solved the model in 3 sec¬ 
onds with 3 iterations. 

With Formula/One, only the input 
values need to be entered by the 
modeler. Variables A and C can be left 
blank: the program will produce guess 
values automatically for both variables, 
then it will invoke the iterative solver. 
Following the completion of the first 
10 iterations (assuming the default of 
10 has not been changed to a higher 
value), Formula/One displays a G sta¬ 
tus indicator for the two variables. If 
acceptable values are not found after 
10 iterations, the equation status field 
indicates whether the values are 
D(iverging) or C(onverging). TKI¬ 
Solver, however, will not solve the 
model unless at least one vari¬ 
able—either A or C —is set to G. 


In real-world engineering situa¬ 
tions, the time required to set up the 
model is usually more significant than 
the time required for solving. For one 
thing, set-up requires both the com¬ 
puter and an operator, solving can be 
left unattended. For models that re¬ 
quire iterative solutions, particularly 
those that have equations with multi¬ 
ple roots, set-up includes both devel¬ 
oping the model in equation form, 
and discovering the best-guess values. 

Formula/One requires more at¬ 
tention to guess values because it sup- 
plys a value for any variable not as¬ 
signed an input or guess value by the 
modeler. This requirement compli¬ 
cates the process of discovering best- 
guess values. TK will converge to the 
correct set of roots given fewer (cor¬ 
rect) best-guess values. 

Both Formula/One and TKISolver 
provide the appropriate tools to arrive 
at best guesses by graphical means. To 
that end, the equations in figure 1 are 
modified in figure 2. 

By adding the variable error to 
the model, the user can remove the 
guesswork from the solution process. 
The idea is as follows: by plotting er¬ 
ror against the unknown variable C, 
the user can pick a value of C for 
which error is zero; in effect, a solu¬ 
tion of the equation. Leaving the B , Z), 
and F values as they were, the user 
can create an input list for C and an 
empty 7 (output) list for error. The user 
may leave A a single-valued variable 
or associate it with a list. 

After these steps are taken, the 
model can be solved with the list solv¬ 
er, and error can be plotted as a func¬ 
tion of C. Both TKISolver and 
Formula/One produce a plot like the 
one in figure 3- The user can refer to 


the list sheets for error and C to lo¬ 
cate conditions of minimum error. 

Incidentally, this exercise points 
out another difference. Formula/One 
has no explicit command to invoke 
the list processor, but TKISolver does. 
If a Formula/One model contains any 
references to lists in the variable sheet 
status column, it invokes the list 
solver. Input lists must be assigned IL 
status, and output lists must be as¬ 
signed L. To return to a single solu¬ 
tion mode, all list status indicators 
must be removed. With TK, variables 
can be associated with lists freely. The 
list processor is not invoked unless 
the /L command is entered. 

MODEL COMPETITION 

Formula/One and TKISolver were writ¬ 
ten to solve essentially the same types 
of models, and to meet the needs of 
the same group of users. Both per¬ 
form as intended and produce accu¬ 
rate results when used correctly. The 
differences between the two are both 
cosmetic and functional. TKISolver has 
the distinction of being the first of the 
genre (at least for microcomputers), 
but Formula/One cannot be called a 
TKISolver clone. 

A model that can be solved on 
one of these two programs can be 
solved on the other (with varying de¬ 
grees of difficulty). TKISolver has the 
edge in flexibility, but Formula/One 
offers built-in functions. 

—Victor E. Wright 

TKISolver 1.6. $250 
Universal Technical Systems, Inc. 

1220 Rock Street 
Rockford, IL 61101 
815 / 963-2220 

CIRCLE 348 ON READER SERVICE CARD 



A plot of the equations in figure 2 reveals that error is a sinusoidal function of C. 
To solve the equations exactly, pick a value of C for which error is zero. 


JUNE 1986 


125 





















REALTIME SYSTEMS 


PC\fersions 

ofiRMX 

PC/RTX and AT/RTX from RTCS Corporation 
are IBM PC-specific implementations of 
Intel’s ubiquitous, highly adaptable iRMX86. 



RICHARD M. FOARD 


I ntel’s iRMX86, the largest and most 
venerable of the 8086-family real¬ 
time operating systems, was de¬ 
signed in the late 1970s to address a 
broad range of computing needs. Con¬ 
ceived in a commercial world that had 
not yet seen the IBM PC, it was aimed 
primarily at large, high-volume systems 
manufacturers and integrators. Devised 
to support the 8086 family in the widest 
possible range of hardware environ¬ 
ments and application settings, iRMX 
was built to be highly configurable with 
respect to its hardware environment. 

Real-Time Computer Science Cor¬ 
poration (RTCS), working under an In¬ 
tel resale license, has taken advantage 
of the system’s configurability to create 
iRMX-based operating systems for two 
of the world’s most common vehicles 
for 8086 family processors: PC/RTX for 
the IBM PC and AT/RTX for the PC/AT. 
These two products, which incorporate 


Intel’s release 6.0 of iRMX86, are poten¬ 
tially attractive to both high- and low- 
volume resellers of realtime systems 
based on standard PC hardware. High- 
volume resellers can build upon the 
configuration work RTCS has done for 
the PC and AT hardware sets. Low-vol¬ 
ume resellers, in addition to avoiding 
the chore of configuring iRMX, can en¬ 
joy more favorable low-quantity pricing 
from RTCS than they would see if they 
purchased iRMX directly from Intel. 

At $995 for PC/RTX and $1,495 for 
AT/RTX, these systems are not priced or 
packaged for the casual experimenter. 
Most existing RTX users are larger cor¬ 
porations that already held iRMX li¬ 
censes from Intel when they purchased 
RTX from RTCS. RTCS’s focus on larger 
customers with technical sophistication 
is evident in its handling of product 
documentation: RTX is distributed with 
a 24-page, RTCS-authored installation 


127 


COMPUTER GRAPHIC • DOV JACOBSON 









iRMX 


guide and Intel’s weighty Introduction 
and Operator's Reference Manual. Doc¬ 
umentation on program interfaces to 
iRMX is not distributed with RTX. Cus¬ 
tomers not already holding the docu¬ 
ments by virtue of holding iRMX li¬ 
censes from Intel are referred directly 
to Intel for the two volumes of the 
iRMX Programmer's Reference Manual. 

Resellers building systems for non¬ 
standard PC/AT hardware sets can pur¬ 
chase configurable (but more costly) 
variants of RTX from RTCS. These prod¬ 
ucts, unlike their PC and AT counter¬ 
parts, pass through all iRMX configura¬ 
bility, but require a direct license 
agreement with both Intel and RTCS. 

iRMX86/RTX COMPONENTS 

In the spectrum of possible iRMX 
configurations, RTX lies at the “fully 
loaded” end. The RTX products contain 
all of the iRMX system’s core and 
optional components. 

At the heart of RTX lies the iRMX 
Nucleus. The Nucleus controls system 
resources and coordinates tasking and 
interrupt processing. Layered atop the 
Nucleus are the iRMX basic and ex¬ 
tended I/O systems—RTX BIOS and 
EIOS—which provide device-indepen¬ 
dent, file-based input and output. The 
I/O systems manage hierarchical hie 
systems on random access devices and 
provide access to simpler devices. The 
iRMX Universal Development Interface 
layer (UDI), a standard set of service 
routines, allows RTX to host Intel’s lan¬ 
guage compilers and other software de¬ 
velopment tools. (UDI system calls are 
listed in table 1.) The iRMX Human In¬ 
terface component provides a set of 
command line interpretation and opera¬ 
tor/program communications services 
that allow a system’s users to invoke 
programs and control system operation. 
RTX also incorporates the iRMX Boot¬ 
strap and Application Loaders. 

In the hierarchy of the system, be¬ 
ginning with the application system and 
continuing with UDI, EIOS, RTX BIOS, 
and the Nucleus, each element can 
communicate directly with those ele¬ 
ments beneath it (see figure 1). For ex¬ 
ample, the application system can talk 
to all of the other elements, but the 
UDI can talk directly only to the EIOS, 
the RTX BIOS, and the Nucleus. 

The increased power of Intel’s 
8086 family and other late-1970s micro¬ 
processors made an expanded complex¬ 
ity in operating software architectures 
necessary. Integrated circuit manufactur¬ 
ers, anticipating their customers’ diffi¬ 
culties in grappling with growing levels 
of complexity, dramatically boosted 


TABLE 


CALL 

FUNCTION 

DQALLOCATE 

Allocates memory block 

DQATTACH 

Establishes a file connection 

DQCHANGEACCESS 

Changes file access rights 

DQCHANGEEXTENSION 

Changes file name extension 

DQCLOSE 

Closes a file 

DQCREATE 

Creates a file (and file connection) 

DQDECODEEXCEPTION 

Translates exception code 

DQDECODETIME 

Returns current date and time 

DQDELETE 

Deletes a file 

DQDETACH 

Detaches a file connection 

DQEXIT 

Returns control to RTCS/UDI (PC-DOS) 

DQFILEINFO 

Returns file information 

DQFREE 

Frees a memory block 

DQGETARGUMENT 

Gets a command line argument 

DQGET CONNECTIONSTATU S 

Returns file connection information 

DQGETEXCEPTIONHANDLER 

Returns current exception handler address 

DQGETSI2E 

Returns the size of a memory segment 

DQGETSYSTEMID 

Returns system identification string 

DQGETTIME 

Gets current date and time 

DQOPEN 

Opens a hie connection 

DQOVERLAY 

Loads an overlay 

DQREAD 

Reads from a hie connection 

DQRENAME 

Renames a hie 

DQRESERVEIOMEMORY 

Reserves memory for system use 

DQSEEK 

Sets/changes I/O position in hie 

DQSPECIAL 

Sets console input treatment 

DQSWITCHBUFFER 

Switches parsing buffer 

DQTRAPCC 

Sets Ctrl-C handler 

DQTRAPEXCEPTION 

Sets hardware-detected exception handler 

DQTRUNCATE 

Truncates a file 

DQWRITE 

Writes to a hie connection 


By using RTCS/UDI running under PC-DOS, the developer can use the same calls to 
the service routines as a developer who is using the VDI running under RTX itself. 


their efforts to provide systems level 
software as part of their product pack¬ 
ages. In Intel’s case, concerted efforts to 
support the 8086 family yielded a more 
highly structured, more formalized ap¬ 
proach to operating system design than 
had been seen previously in commer¬ 
cial microcomputing. The development 
of iRMX was an effort more akin to that 
which produced UNIX than to that 
which produced CP/M or PC-DOS. 

These efforts culminated in 1980 with 
the introduction of the layered, object- 
oriented iRMX86 operating system. 

Aside from its substantial size, it is 
iRMX’s object-oriented design that sets 
it apart from the microprocessor oper¬ 
ating systems that preceded it: iRMX can 
be described completely in terms of the 
properties and behavior of abstract 
objects of various types. Objects are 
tasks, units of resources used by tasks 
(such as memory segments), special en¬ 
tities used in intertask communication, 
or structured compositions of other 


objects. The iRMX Nucleus allows the 
creation, deletion, and manipulation of 
eight types of objects: jobs, tasks, seg¬ 
ments, semaphores, mailboxes, regions, 
extension objects, and composite ob¬ 
jects. All of its interfaces are described 
in terms of these basic object types. 

Of the eight basic types, tasks (and 
composite objects that include tasks) 
are the only active objects. iRMX termi¬ 
nology uses task in the conventional 
sense: tasks perform the work of a sys¬ 
tem by creating, deleting, manipulating, 
and passing other objects around. When 
iRMX objects are passed among tasks or 
from tasks to system calls, they do not 
move physically from one place to 
another. Instead, a compact (16-bit) 
identifier called a token is passed. 

Every iRMX system is structured as 
a set of one or more job objects. Jobs 
provide a way for a systems designer to 
achieve close control over the distribu¬ 
tion of system resources. Jobs are most 
frequently used when iRMX provides 


128 


PC TECH JOURNAL 

















INTRODUCING THE TD440 TAPE BACKUP SYSTEM 

What will you do when your hard disk fails? Too many peo¬ 
ple wait until that catastrophic moment to consider the 
importance of secondary storage. 

And too many people rely on clumsy floppy disks or sec¬ 
ond rate tape systems to protect literally thousands of dol¬ 
lars of programs, data and time. 

ADIC offers a better way—the TD440 Tape Backup 
System—a complete 40 megabyte H" tape backup system 
for IBM PCs, XTs, ATs and compatibles. 

Available in standalone PC or network versions (IBM, 
Novell and 3-Com to name a few), the TD4400 solves virtu¬ 
ally any backup need. 

TOTAL DATA SECURITY 

If you want to sleep nights without worrying about valua¬ 
ble data, the TD440 is for you. It’s the newest in our line of 
superior quality tape systems, about which PC Tech Journal 
says, “It’s hard to imagine a sturdier, more secure 
system.. .the army tank of tape drives,” (Nov. 85). 

Our QIC-100 tape format and redundant data recording 
error detection/correction techniques insure total data integ¬ 
rity. Even if a data error occurs, the TD440 automatically cor¬ 
rects it. 


TheTD440 keeps you up and running productively even 
while the hard disk is in the shop. Now that’s true secondary 
storage! 


BUY THE BEST-FOR LESS 


At only $1490, the security you buy with the TD440 is a 
bargain. Ask the thousands of satisfied customers who have 
put their trust in ADIC—trust that is well-deserved. 

Every TD440 is manufactured to exacting standards, 
using 3M drives and tapes in conjunction with ADIC technol¬ 
ogy. And our advanced backup and archival software makes 
data management a snap. 



So if you want superior pro¬ 
tection for your valuable data, 
call ADIC today at 1-800- 
336-1233. The TD440-it’s the 
tape backup system for people 
who refuse to accept second 
rate protection. 


The TD440 tape backup system 
stores 40 Mbytes of data on easily 
transportable 3M DC2000 cartridges. 



HOWTO RUN PROGRAMS FROM A DEAD HARD DISK... 

You can’t. Instead, when your hard disk crashes, simply 
switch over to theTD440. It acts just like a hard disk, 
responding to all DOS commands and lets you run pro- Advanced Djgjta| , nformation corporation 

grams directly from tape. PO.Box 2996,10201 Willows Road N.E. 

Redmond, WA 98073-2996 
(800) 336-1233, (206) 881-8004 
CIRCLE NO. 102 ON READER SERVICE CARD 



©1986 Advanced Digital Information Corporation. All company and product names should be considered trademarks of their respective companies. 






Call for latest prices. 


FREE SHIPPING 

in the Continental United States via UPS Ground. 

NO SURCHARGE FOR E 


Floppy Disk Drive M, "«S!SHI 







Half-Height, DS/DD 

Also available for AT 1 ” > habu j| 

in Gray Color. PANASONIC 

Half-Height, DS/DD 

' TEAC 

55-B, Half-Height, DS/DD 


$109 


64K RAM 

********* 

Set of 9 chips, 200 or 150 Nanoseconds 


$10 


per set 


256K RAM $29 "1!** 


PC's Limited AT 
Multifunction Card 

• Expandable To 3 Meg 

(1.5 on Board/1,5 on Piggy Back Board) 

• Supports 64 or 256K Rams 

• Parallel Port 

• Serial Port (2nd Serial Optional) 



Piggy Back 

w/ok Board $59 w/0K 


PC's Limited Mini I/O 


• Serial Port 

• Parallel Port 

• Clock 

• Software 

• Fits In Short Slot 


$99 


300/1200 Baud Hayes 
Compatible Modem 
Fits in Short Slot 



PC's Limited Monochrome Graphics 

Fully Hercules Compatible 

$159 

• Text Mode 80 X 25 

• Graphics Mode 720 X 348 Pixels 

• One Parallel Printer Port 



PC'S LIMITED Six Function Card 


• Upgradable to 384K 

• Clock/Calendar 

• Includes Software 

• Parallel Port 

• Serial Port 



• Game Port 


Two Year Warranty 


w/0K $99 w/384K $149 


Seagate 

20 and 30 MEG 
High Speed 
40 MS Access Time 
Hard Drives for AT™ 


Uses Linear 
Voice Ceil 
Activator. 


Heads park automatically 
at power down. 

20 MEG $579 
30 MEG $699 
40 MEG $819 

Includes Seagate Full Height Hard Disk, 
Cable, and Mounting Rails. 

Boots from Hard Disk. One Year Warranty. • 



PC's Limited PC-576 RAM Board 


• Expandable to 576K 

• Supports 64K or 256K RAMS 

• Fits in Short Slot 


$69 


W/OK 



SOLVE YOUR POWER PROBLEM. 

XT POWER 130W 



$99 


Directly replaces power 
supply in PC. 1 '' 

Fully XT™ compatible. 
One Year Warranty ' 


PC'S LIMITED PC'S LIMITED 
MONO-1 MONITOR RGB-1 MONITOR 

$169 $459 




• 12-inch screen 

• Amber 

• Compatible with monochrome 
or color graphics cards 


• 31MM dot pitch 

• RGB input 

• 12-inch screen 

• 690X240 resolution 

• 16 colors 


TOTAL SATISFACTION GUARANTEE 

WARRANTY 

For Warranty Service: One year Limited Warranty on PC’s 
Limited products. Contact Technical Support for a Return 
Authorization Number (RMA). Returns must be accompa¬ 
nied by your RMA, the invoice, and a brief explanation. 

During the Warranty Period, PC’s Limited will repair or re¬ 
place items at our option. 

30-DAY TOTAL SATISFACTION GUARANTEE 

Any item bought from PC’s Limited may be returned within 
30 days from the date it was shipped for a full refund of 
your purchase price. Returned items must be as-new, not 
modified or damaged, with all warranty cards, manuals, and 
packaging intact. Returned items must be shipped prepaid 
and insured, and must bear a PC’s Limited Credit Return 
Authorization (CRA) on the shipping label. Call PC’s 
Limited’s Customer Support Department for CRA. No 
credits issued after 30 days from date of shipment. 

CONSUMER TIP 

When shopping for PC products, ask our competitors about 
their refund policies. 


Seagate HD o Western Digital Controller 

20 MiG Hard Disk System for PC 

Internal 
$449 

For Xebec 1220 Combined Floppy/Hard Disk Controller add $75. 

Includes Seagate Hard Disk, Western Digital Controller, Cables, 

Manual, Software, and Mounting Hardware. 

Boots From Hard Disk 65 MS Access Time One Year Warranty 

Our Hard Disk Systems are compatible with the latest versions of the following Computers: IBM PC, 
IBM XT, ATST 6J00,Compaq Deskpro, Tandy 1000, Tandy 1200, PC's Limited Turbo PC, Zenith ISO, 
Zenith 151, Leading Edge PC (Both Models), Sperry PC, Wyse PC, Televideo PC, Faraday Mother Boards, 
Corona PC, Eagle PC, ITT PC, and most other Compatibles. 

PLEASE SPECIFY YOUR COMPUTER TYPE WHEN ORDERING. 



Some quantities may be limited. PC’s 
Limited sells equipment certified to 
be compliant with FCC Class B stan¬ 
dards. Where equipment manufac¬ 
tured by PC’s Limited has not yet 
received certification, PC’s Limited 
will substitute equivalent certified 
equipment. All prices are subject to 
change without notice. We are an 
independent sales organization. 



| _ 


PC'S UMITED 

SALES CALLS OUTSIDE TEXAS, 1-800-426-5150 
1611 Headway Circle, Building 3, Austin, Texas 78754 

Sales Calls from anywhere in country, (512) 339-6962 PHE 


Technical Support Calls, (512) 339-6963 Customer Service Calls, (512) 339-6964 

Limited warranty Telex No 9103808386 PC LTD FAX (512) 339-6721 


Panasonic, TEAC, Mitsubishi, Intel, IBM, 
Hercules, PUntronics, Xebec, Seagate, Western 
Digital, AT&T, Compaq, Tandy, Leading Edge, 
Sperry, Wyse, Televideo, Faraday, Corona, 

Eagle, ITT, and Zenith are registered trade¬ 
marks of their respective companies. IBM PC, 
IBM XT, IBM AT, are trademarks of IBM Cor¬ 
poration. Leading Edge PC, Sperry PC, Wyse PC, 
Compaq Deskpro, Zenith 150, Zenith 151, 
Televideo PC, Corona PC, Eagle PC, AT&T 
6300, Tandy 1000 and Tandy 1200 are trade¬ 
marks of their respective companies. 


Ad Number A06/86 


CIRCLE NO. 145 ON READER SERVICE CARD 




































8088-2 System Unit • AT Keyboard 
at 4.77 or 6.66MHZ) • DOW Power Supply 

on Mother Board • Operations Manual 

Floppy Drive • One Year Limited Warranty 

Microsoft GW Basic" $95 • IBM DOS 3.1 $85 • 8087-2 $149 


Our Turbo PC™has sold in large quantities since the first week we introduced it. Of course, that’s not surprising, since we 
were the first company to break the $800 barrier with a machine that outruns the “Big” name by a 40% speed factor. Now, 
we’re going to extend the margin even further by offering a 30-day money back guarantee. If that sounds good, it’ll look 
even better when one of our Turbo PC’s is on your desk. So call us today. We’re guaranteeing you’ll like what you get. 


When a PC's Limited Turbo PC is on yo 
desk, you'll think it's a headliner too. 


. a good machine. And a 
heck of a buy. . . a fine 
box. One I’d happily 
choose over Big Blue’s 
original... no status. . . 
beyond the status that at¬ 
taches to getting twice as 
much for your money.” 

—Jim Seymour, 
PC Week , 
August 13, 1985 


“It almost sounds un¬ 
believable.” 

—MIS Week , 
August 21, 1985 


“We tested a wide variety of 
software on the machine 
and everything ran well. . . 
The bottom line for any¬ 
one considering buying 
one of these computers 
would seem to be this: 

PC’s Limited sells quality 
systems for extraordinarily 
low prices.” 

—PC Week , 
October 29, 1985 


Some quantities may be limited. PCs 
Limited tell, equipment certified to 
be compliant with ICC Class B stan¬ 
dards. Where equipment manufac¬ 
tured by PCs Limited has not yet 
received certification, PCs Limited 
will substitute equivalent certified 
equipment. All prices ate subject to 
change without notice. We are an 
independent sales organization. 





PC'S LIMITED 

SALES CALLS OUTSIDE TEXAS, 1 -800-426-5150 
SALES CALLS INSIDE TEXAS, 1 -800-252-8336 
1611 Headway Circle, Building 3, Austin, Texas 78754 
Sales Calls from anywhere in the country, (512) 339-6962 
Technical Support Calls, (512) 339-6963 Customer Service Calls, (512) 339-6964 
•limited warranty Telex No 910380S386 PC IIP FAX (512) 339-6721 



































And H that's not enough to convince you, 
now we've got a 30-day money-back guarantee. 

^| • One Year Limited Warranty 

H|f • 80286-based System Unit (Runs at 6MHZ. 8MHZ option 

llSlr" included at no extra charge.) 

■ilCSL • 1024K on Mother Board 

j • 1.2 Meg Floppy Drive 

s II A j • Combined Floppy/Hard Drive Controller Card 

• 192W Power Supply 

^ * 2 Serials and 1 Parallel Port 

_fl ■liillllllil EH * Clock/Calendar with Batten Backup 

™ . .*0^ * Operations Manual 


Microsoft GW Basic™ $95 • IBM DOS 3.1 $85 • 80287 $195 


I’m Michael Dell, President of PC’s Limited. And I want you to know about your latest industry-leading step. We’re so sure 
that you’ll like everything about our PC’s Limited AT that we’re willing to offer you a 30-day money back guarantee on it. 
This machine, with 1024K on the Mother Board and an 8MHZ option included at no extra cost, has been a standout since 
we introduced it. So give us a chance to show you what it can do for your operation. With a deal like this, there’s no way 
you can lose. (And see the opposite side of this page for information about our Turbo PC™, plus details on our guarantee.) 


Read what the experts say 
about the PC's Limited AT. 


“If price is your primary 
consideration, skip both 
AT&T® andTI® and choose 
this issue’s best buy, the 
PC’s Limited AT™. Check 
its benchmark results— 
you won’t be sacrificing 
performance to save 
money.” 

—PC Magazine, 
Editor's Choice, 
February 25, 1986 


“The PC’s Limited AT™ 
proved to he the functional 
equivalent to the IBM® 
product, only faster. Priced 
at roughly one-third less, 
it rates as one of the best 
bargains available.” 

—Winn L. Rosch, 
PC Magazine, 
February 25, 1986 


“I have no qualms recom¬ 
mending this system to 
experienced users who 
need the added speed.” 

—Sol Libes, 
Micro/Systems Journal, 
January/February 1986 















iRMX 





APPLICATION SYSTEM 





udi c 




EIOS <^~ 

c 




RTX BIOS 

<d 

c 


— 

NUCLEUS 







The hierarchy of the system allows any element to commu¬ 
nicate directly with tasks beneath it in the tree; elements 
may not talk to higher-status elements. 



The handling of some interrupt service routines is done by 
making an interrupt task associated with it. The ISR gener¬ 
ates the data segment used later by the interrupt task. 


the foundation for systems serving com¬ 
peting, interactive users. Systems dedi¬ 
cated to noninteractive applications are 
typically (though not necessarily) con¬ 
structed entirely within a single job. 

Jobs are groupings of tasks and 
other logically related objects. A sys¬ 
tem’s jobs are linked into a tree struc¬ 
ture through which resources are allo¬ 
cated among the system’s tasks. Every 
iRMX system is structured as a tree of 
jobs descending from an initial root job. 
Each task is associated with a particular 
job and must obtain the resources it 
needs from its associated job or from 
one of its ancestors in the job tree. 

Tasks also may create new jobs; each 
new job is a descendant of its creating 
task’s job in the job tree. 

Every job carries with it a memory 
pool and a directory of the objects it 
contains. Various limits are specified 
when a job is created that remain in 
force throughout its life: a maximum 
size for its memory pool, a maximum 
number of entries in its object table, 
and so on. A job’s limits apply to the 
job and to all its descendant jobs. 

The role played by the job hier¬ 
archy in partitioning system resources is 
evident in iRMX’s memory management 
facilities. When first created, jobs do not 
receive their entire memory pools. In¬ 
stead, they are assigned only a desig¬ 
nated minimum amount, and additional 
memory is allowed to migrate down the 
job tree as required to satisfy runtime 
requests for memory allocation. 

Tasks obtain memory by making 
the system call CREATE$SEGMENT to 
create and allocate segment objects. 


Segments are paragraph-aligned parcels 
of memory that consist of enough con¬ 
tiguous paragraphs of physical memory 
to meet a task’s request. When a task at¬ 
tempts to create a segment requiring 
more memory than is available in its 
job’s memory pool, iRMX tries to “bor¬ 
row” memory from the parent job. If 
the parent job cannot help, attempts to 
borrow continue to grandparents and 
beyond, all the way to the root job if 
necessary. A job retains memory it has 
borrowed until it is deleted, at which 
time all the memory its tasks have accu¬ 
mulated is returned to its parent job. 

SCHEDULING AND TASKING 

Each job is created with one initial task. 
A task that creates a new job optionally 
may pass it a token for a parameter ob¬ 
ject. This generality with respect to a 
job’s parameters is characteristic of the 
iRMX brand of object-oriented design: 
the operating system does not presume 
to know the internal structure, size, or 
meaning of a job. The parameter object 
could be a memory segment containing 
operating instructions, a mailbox to be 
managed by the new job, or even an¬ 
other job object. A job’s initial task typi¬ 
cally performs initialization, then 
creates the required objects within the 
job, including other tasks. 

iRMX maintains a preemptive, 
priority-based multitasking environ¬ 
ment. Each task’s context consists of its 
stack, its containing job, and a task-spe¬ 
cific exception handling apparatus. 

iRMX tasks may be assigned any 
priority level from 0 (the highest) to 
255. The task priority scheme is inti¬ 


mately connected with the iRMX inter¬ 
rupt-handling support mechanism. 
Regardless of the number of tasks or 
interrupting devices present in a partic¬ 
ular system, iRMX) associates each even- 
numbered task priority between 4 and 
130 with an external device interrupt; 
tasks running at these priorities are 
considered to be interrupt tasks. Priori¬ 
ties 131 through 255 are used for non¬ 
interrupt tasks. When an interrupt task 
runs, hardware interrupts associated 
with lower-priority interrupt tasks are 
automatically disabled. iRMX makes the 
interrupt-to-task priority association by 
assuming a fixed relationship between 
interrupt task priorities and locations in 
the processor’s interrupt vector (shown 
for PC and PC/AT hardware configura¬ 
tions in table 2). 

Basic task management for tasks 
not engaged in interrupt processing or 
intertask synchronization is accom¬ 
plished using five system calls that 
move tasks among various states. 
CREATE $TASK and DELETE $TASK add 
and remove tasks from the system. 

Once created, a task contends normally 
with other tasks for processor time 
unless it enters the sleeping state, the 
suspended state, or both. A task sleeps 
when it makes a SLEEP system call to 
remove itself from contention for the 
processor for a specified length of time. 
Tasks become suspended when they are 
named in a SUSPEND$TASK system call; 
they remain in this state until named in 
a RESUME$TASK call. (A task that is 
suspended more than once must be 
named in a corresponding number of 
RESUME $TASK calls before it begins 


JUNE 1986 


133 



































































It’s too late 
when you can see 
that your disc drive 
has problems... 



ReadiScope 

is your eyes and ears 
inside vour disc drives. 



ReadiScope is a comprehensive 
diagnostic program that analyzes 
the current status of a diskette 
drive. It graphically displays the 
alignment pattern so that 
adjustments to head, spindle 
hub alignment, and rotational 
speed can be made in minutes 
without special equipment. 

■ Floppy drives, single or double 
sided drives, can be tested while 
installed under normal operating 
conditions 

■ Ideal for use by: PC Clubs; 

Users with Critical Data; 

Repair Shops; Multi-PC Users; 
Retail Stores 

Requires 48K IBM PC with one operating 
drive. Uses monochrome or graphics 
display. $295. including special diagnostic 
diskette. 

Visa, Mastercard or MO. Add $3. for 
shipping. Ml residents add sales tax. 

Call 616-327-9172 or send your order 
now to: 

ReadiWare Systems, Inc. 

P.O. Box 515, Portage, Ml 49081 


CIRCLE NO. 240 ON READER SERVICE CARD 


iRMX 


TABLE 2: Interrupt Procedure Relationships 


VECTOR 

NUMBER 

ADDRESS 

TASK 

PRIORITY 

8259A CONNECTION 

56 

EOH 

18 

Master 0 

57 

E4H 

34 

Master 1 

80 

13CH 

36 

Master 2/slave 0 

81 

140H 

38 .. 

Master 2/slave 1 

82 

144H 

40 

Master 2/slave 2 

83 

148H 

42 

Master 2/slave 3 

84 

14CH 

44 

Master 2/slave 4 

85 

150H 

46 

Master 2/slave 5 

86 

154H 

48 

Master 2/slave 6 

87 

158H 

50 

Master 2/slave 7 

59 

ECH 

66 

Master 3 

60 

FOH 

82 

Master 4 

61 

F4H 

98 

Master 5 

62 

F8H 

114 

Master 6 

63 

FCH 

130 

Master 7 


Each location in the interrupt vector is automatically associated by RTX with an 
interrupt task priority and an 8259A connection. The IBM PC has only a master 
controller and no slave controller, providing 15 interrupt priority levels. 


running normally again; iRMX tracks 
each task’s suspension depth.) If a task 
is suspended while sleeping, it remains 
inactive until all blocking conditions 
have been cleared. 

iRMX provides tasks with a number 
of informative system calls. Using the 
GET$TASK$TOKEN system call, a task 
can learn about itself from iRMX. In 
making this call, a task can indicate that 
it wants a token for itself, its job, its 
job’s parameter object, or the system’s 
root job. Using the GET$PRIORITY sys¬ 
tem call, a task can discover its own 
priority or that of any other task for 
which it holds an identifying token. 

EXCEPTION HANDLING 

The notion of exception is central to the 
iRMX rules of operation. Exceptions, for 
the most part, occur during system 
calls, in the form of I/O errors, im¬ 
proper call parameters, failures to allo¬ 
cate adequate essential memory. 

Tasks and system calls react to the 
detection of exceptional conditions by 
calling on iRMX’s highly structured ex¬ 
ception-handling mechanism. In design¬ 
ing a task, a designer chooses an excep¬ 
tion-handling method. First, he must 
choose when, if ever, a task’s exception 
handler is to be invoked, which is done 
by setting the task’s exception mode. A 
choice of the in-line exception-handling 
mode indicates that a task has no 
special exception handler. This is the 
familiar case in which the task itself is 
responsible for testing the outcome of 
every system call and processing errors 
if they arise. Alternatively, the designer 


may specify that a designated exception 
handler be invoked upon programmer 
errors (improperly made system calls, 
for example), environmental errors 
(such as unexpected end-of-file when 
reading from disk), or both. 

If a task does not call on 
SET$EXCEPTION $HANDLER to set its 
own exception mode and handler, it re¬ 
ceives by default the exception handling 
apparatus of its containing job. If no 
mode was specified when the job was 
created, the job and its tasks inherit a 
default, iRMX-supplied exception 
handling strategy that simply suspends 
or deletes any task causing an exception 
of any kind. Tasks can discover which 
exception apparatus they have estab¬ 
lished (or inherited) by using the 
GET$EXCEPTION$HANDLER call. 

When iRMX invokes an exception 
handler, it passes to the handler codes 
that describe the exception and, in the 
case of exceptions arising from improp¬ 
erly used system calls, an indication of 
which parameter to the system call was 
in error. The systems designer can 
choose whatever strategy he deems 
appropriate for dealing with exceptions. 
In extreme cases, he may choose to 
eliminate the offending task entirely, by 
deleting it. Under other circumstances, 
he might log the error, ignore it, or at¬ 
tempt to correct the conditions that led 
to the exception. He also has the op¬ 
tion, which is especially attractive dur¬ 
ing system development and testing, of 
establishing the iRMX debugger as the 
exception-handling routine for either 
some or all system tasks. 


134 


PC TECH JOURNAL 

















































































More Answers from CXI 


# 12 . 


Howto get 
mainframe data to 
your remote PCs. 


PCQX 3270remote 
connections. 

Now if your PCs are located out of town, 
they needn’t be out of touch. 

Because not only does CXI have more 
remote micro-to-mainframe connections to 
choose from; we have more cost-effective 
ones as well. 

Fbr example, all our remote products 
connect via modems. And emulate IBM® 


Or, for multi-session performance, 
there’s our PCOX/3270 PC REM0TE™It lets 
you work with up to five host sessions, 
two notepads and a PC session. 

What’s more, just by adding new software, 
you can add new features like our remote 
gateway for LANs. 

So for the name of your nearest CXI 
distributor, call (800) 225-PCOX. In Cali¬ 
fornia, call (415) 424-0700. r Ifelex: 821945. 

Or send us the coupon. And let us turn 
these remote possibilities into 





iRMX 





Interactive &A Q 95 
DOS Utility 

Resident program gives you 
instant access to many 
enhanced DOS functions 
and instant return to where 
you were. 


* Reduce time searching for your 
files and performing DOS 
commands. See up to 85 fifes per 
screen page, identify sub-directories at a 
glance. Get quick and easy display of 
contents. 

* Make your DOS commands 
easier to use. Pop up windows simplify 
DOS operations, utilize single keystroke 
commands, return you instantly to where 
you left off. 

* Take full control of your printer. 

Call up printer output window from inside 
any program and give necessary printer 
commands. 


“WindowDOS quickly established itself as an 
Indispensable part of my PC environment / can't 
imagine working without it ." 

Paul Bonner, Reviewer , PC Week 


Plus $5 handling and shipping 


Money orders, cashier's checks, VISA, MC, 
AmEx, and Corporate Purchase Orders. 


Software of the Future 
Box 531650 Grand Prairie, TX 75053 


WindowDOS is for use with IBM PC, XT, AT and true 
compatibles. Requires DOS 2.0 or newer and 80 column display. 
Uses only 40K of memory. 


CIRCLE NO. 127 ON READER SERVICE CARD 


136 


SYNCHRONIZATION 

All intertask synchronization under 
iRMX is modeled in terms of tasks 
exchanging or sharing something. Ex¬ 
changes are accomplished using objects 
of type semaphore and mailbox; sharing 
is controlled using regions. Like other 
objects, exchange objects and regions 
may be dynamically created or 
destroyed, as required. 

Semaphore objects implement the 
well-known, general-purpose Dijkstra 
synchronization primitives. An applica¬ 
tion creates a semaphore as the custo¬ 
dian of some number of abstract units, 
usually corresponding to events or re¬ 
source units in the application domain. 
Tasks send units to a semaphore (signal 
or post) using the SEND$UNITS system 
call; they request units from a sema¬ 
phore (wait) by calling RECEIVE$UNITS. 

Tasks calling RECEIVE$UNITS spec¬ 
ify the number of units they wish to re¬ 
ceive. If all the requested units are not 
present in the semaphore (or if other 
tasks are waiting ahead of the caller) 
the calling task is queued up to wait, 
either on a hrst-come, first-served basis 
or by task priority relative to other wait¬ 
ing tasks. Queuing treatment is deter¬ 
mined by a configuration option that is 
set at the time a semaphore is created. 

In addition to the number of units 
they seek, calling tasks specify the 
amount of time they are willing to wait 
if their request cannot be satisfied 
immediately. The specified waiting time 
can range from zero (give up immedi¬ 
ately if the requested units are not 
there) to infinity (wait as long as 
necessary to get them). 

Mailbox objects are used to me¬ 
diate the transfer of messages across 
task boundaries; tasks obtain access to 
mailboxes by calling SEND$MESSAGE 
and RECEIVE$MESSAGE. Instead of a 
semaphore’s abstract units, tasks com¬ 
municating via mailboxes send and re¬ 
ceive messages that can be iRMX objects 
of any type. Each mailbox contains an 
object queue into which messages sent 
when no receiving task is waiting are 
placed. Object queues are managed on 
a strict FIFO basis. 

As with semaphores, a task that 
creates a mailbox specifies whether 
tasks waiting at mailboxes are to be 
queued by arrival order or by task 
priority. Tasks attempting to receive 
messages have the same options that 
those receiving semaphore units have: 
they can choose whether or not to wait 
at an empty mailbox and, if they choose 
to wait, for how long. 

iRMX maintains object queues in 
two parts: high-performance and over¬ 


flow. The size of a queue’s high-per¬ 
formance part is specified by the creat¬ 
ing task at the time a mailbox is 
created. Messages passed through a 
mailbox while its object queue is small 
enough to be contained entirely in the 
high-performance part are processed 
quickly because they move through 
memory that is permanently allocated 
in association with the mailbox. When 
an object queue overflows its high-per¬ 
formance part, iRMX allocates additional 
memory from the mailbox’s containing 
job to accommodate the overflow. 
Overflow processing slows message¬ 
passing down somewhat, but allows 
message queues to grow until all a job’s 
memory is exhausted. The high-per¬ 
formance/overflow structure of object 
queues relieves the designer of the re¬ 
sponsibility for establishing a fixed max¬ 
imum size for each of a system’s inter¬ 
task data queues. 

Applications designers can exploit 
iRMX’s fully general treatment of inter¬ 
task data flows through mailboxes. Be¬ 
cause any object’s token can be sent via 
a mailbox, the same mailbox can be 
used to pass memory segments, jobs, or 
even other mailboxes from one task to 
another. After a particular RECEIVE $- 
MESSAGE call, a task receiving a mes¬ 
sage from such a mailbox can use iRMX 
object management facilities to deter¬ 
mine the type of object it has received 
and tailor processing accordingly. 

Although iRMX semaphore objects 
can meet any synchronization require¬ 
ment that might arise in an application, 
iRMX provides another standard synch¬ 
ronization object—the region object. 
Tailored to perform the synchronization 
activities required when two or more 
tasks share a data area, region objects 
are useful when two or more concur¬ 
rently executing tasks share a data area 
that may be modified by one or more 
of the cooperating tasks. 

Synchronization is required when 
tasks share a common data area, to pre¬ 
vent the reading of inconsistent, corrupt 
information that can result when one 
task changes a data area while another 
is in the midst of reading it. The situa¬ 
tion is avoided by coding each task that 
reads or writes a shared area in order 
to bracket its use of the area with sys¬ 
tem calls to gain (RECEIVESCONTROL) 
and release (SEND$CONTROL) control 
of the area’s associated region object. 
Used in this way, regions guarantee mu¬ 
tual exclusion and eliminate the possi¬ 
bility of tasks reading corrupted data. 

iRMX designers chose to provide 
regions as well as semaphores because, 
although they can be used to accom- 


PC TECH JOURNAL 

















































For you, good is just not good enough, 


INTERNATIONAL 
SALES OFFICES 

Australia: 

Fagan Microprocessor Assoc. 
Phone: (61)3699-9899 
Canada: Scantel Systems 
Phone: (416) 449-9252 
England: Grey Matter, Ltd. 
Phone: (44) 364-53499 
Italy: Lifeboat Assoc., S.p.A. 
Phone:(02) 656-841 
Japan: Lifeboat Japan 
Phone: (03) 293-4711 
Spain: Micronet, S.A. 

Phone:(34) 1-457-5056 
The Netherlands: 

GIGA Computer Products 
Phone:(31)10-771846 
SCOS Automation BV 
Phone: (31) 20-106922 


Lifeboat 

55 South Broadway 
Tarrytown, NY 10591 


For serious programmers, good isn't good enough. You need the best 
...the best tools, the best advice and the best support. 

At Lifeboat, we've been selling to programmers since 1976, so we 
know quality when we see it. And we're committed to a full-service 
program that goes beyond just selling you the best software at 
competitive prices. Our expert staff can help you decide which 
programs are best for your needs and provide you with all the 
technical support you may require. You can rely on Lifeboat for the 
complete solution to your programming needs. 


LANGUAGES 

Lattice C New 3.0 Version 

The best selling C Compiler has been 
upgraded to give you more functions and 
features. Lattice C 3.0 contains 200 new 
library functions, better code generation, 
support for new data types (void, enum, un¬ 
signed char, unsigned long), support for the 
80186/80286 instruction set and the ability to 
generate in-line 8087/80287 instructions. 
Lattice C is the C Compiler for professional 
developers. 

RUN/C—The C Interpreter 
Upgraded Version 

Learn C the natural way with RUN/C. The 
user interface is similar to BASIC with easy 
familiar commands. The new 2.0 version of 
RUN/C comes with a full-screen editor and 
other enhancements. 

RUN/C Professional New 

All RUN/C's capabilities plus powerful 
features for program development. Load your 
favorite object libraries with RUN/C Profes¬ 
sional. Contains a full-screen editor and 
source code debugging facilities. 

Mark Williams 
C Programming System 

A complete C development environment. 

Pro Pascal 

A truly standard Pascal. Produces fast, tight 
code with plenty of compile time options and 
simple one-line commands. 

BetterBASIC New Version 

Now you can program in BASIC and use the 
full memory of your PC, create structured 
programs using functions and procedures, 
make your own library modules and more. 
Now compatible with Microsoft BASIC. 

LANGUAGE UTILITIES 
Plink86 Plus 

An overlay linkage editor for linking 
8086/8088 object modules. Supports an 
unlimited size file, unlimited number of 
modules and up to 4095 hierarchical overlays 
stacked as many as 32 levels deep. Plink86 
Plus contains new features for memory 
caching, library allocation, file merging and 
overlay reloading. 

Pfix86 Plus 

A symbolic and source level advanced 
debugger for programming professionals. 


The names of products listed are generally the trademarks of the sources of the 
products. 

© 1986 Lifeboat Associates 


C-SPRITE 

Symbolic debugging at both source level and 
machine level. Monitor your program by 
setting breakpoints, examining registers and 
variables, or single-stepping through code. 
Handle a set of commands as a macro. 
C-SPRITE and the Lattice C Compiler are 
a natural pair for program development 
and debugging. 

BASTOC 

A BASIC to C translator for the BASIC 
programmer who wants to upgrade to C. 

EDITORS 

LSE 

A powerful yet inexpensive full-screen editor 
designed for efficiency and ease of use. Its 
speed is optimized by writing directly to video 
memory. The Lattice Screen Editor provides a 
multi-window environment, ability to repro¬ 
gram keys, support for keyboard macros, an 
undo command, an error tracking mode, 
on-line help and more. 

VEDIT Plus 

A full-screen text editor for program 
development and word processing. It contains 
-powerful features including use of macros, 
on-line help facility, paragraph formatting, 
and file comparison. 

Pmate 

The programmer's editor with an extensive 
macro command language. Compile in the 
background while you continue to edit files. 

EMACS 

Customizable editor including windowing, 
multi-tasking and special modes for C 
and Pascal. 

FUNCTIONS 

C-Food Smorgasbord 

Library of time saving utility functions 
including a BCD package, an IBM PC BIOS 
interface, level 0 I/O functions, a terminal 
independence package and more. 

Essential C Utility Library 

Over 300 functions, with special attention 
given to screen handling, windows and 
business graphics. Source code is included. 


PforCe Brand New 

An optimized library of an impressive 400 plus 
functions and subsystems. Included is a 
window management system with overlap¬ 
ping or tiled windows and a database system 
with B-tree file structure. Several pre-coded 
screens including "Lotus" style are supplied. 
And there's much more! Routines for interrupt 
driven communications, background tasks, 
and string/table parsing, along with functions 
for field/screen editing and validation are all 
part of this superbly written and documented 
software. Complete source code is included. 

The Greenleaf Comm Library 

A library of over 120 communication routines. 
Contains functions to create interrupt driven 
routines or perform direct I/O to multiple 
Comm Ports. Its strengths are in asynchro¬ 
nous communications, interrupt mode, mo¬ 
dem control, XMODEM, XON/XOFF and flow 
control. Interfaces with Lattice, Microsoft, 
Wizard, Desmet, Cl 86, Aztec and Mark 
Williams C compilers. 

The Greenleaf Functions 

A mature library of over 200 functions. 

Version 3.0 offers all new indexed docu¬ 
mentation, with an abundance of examples. 
Source code included. 

GRAPHICS and 
SCREEN DESIGN 

GSS*CGI GRAPHICS New 

The GSS Computer Graphics Interface is 
designed for creating high performance 
graphics-based applications. GSS*CGI speeds 
up application development and provides 
compatibility with a wide range of peripherals. 
It's the only CGI implementation that provides 
true device-independence for both raster and 
vector graphics. Language bindings are 
available to support development of GSS*CGI 
based applications using Lattice C, Microsoft 
C, FORTRAN, Pascal, BASIC Compiler and 
Macro Assembler. Products in the GSS*CGI 
GRAPHICS line include the GSS Graphics 
Development Toolkit, the GSS Kernel System, 
the GSS Plotting System and the GSS 
Metafile Interpreter. 

Essential Graphics New 

A brand new graphics library for C 
programmers with the emphasis placed on 
ease of use and portability. No royalties. 

Multi-Halo 

Library of over 200 graphics functions, 
supporting all of the popular graphics boards. 

Panel 

A powerful tool for interactive screen design. 

For more information on these and other 
products in our complete line call: 


1-800-847-7078 In NY: 914-332-1875 

i aeon at 


The Full-Service Source for Programming Software. 

CIRCLE NO. 144 ON READER SERVICE CARDI 






iRMX 


plish mutual exclusion, semaphores 
leave a system vulnerable to some 
potentially harmful effects. For example, 
a task that obtains control of a resource 
by consuming a semaphore’s single unit 
can tie the resource up forever if it is 
suspended or deleted while still hold¬ 
ing control of the unit. This cannot 
happen with regions because iRMX 
automatically defers any attempt to 
suspend or delete a task until it releases 
any regions it holds. 

Regions also address a more subtle 
weakness that arises from the use of 


semaphores for mutual exclusion. Using 
semaphores, a high-priority task that 
requests control of a resource held by a 
low-priority task must wait until the 
low-priority task releases the sema¬ 
phore. This delay is inherent in mutual 
exclusion and is unavoidable. If a task 
of intermediate priority preempts the 
low-priority task, however, the waiting 
high-priority task must sit idle until the 
intermediate task suspends and allows 
the low-priority task to continue exe¬ 
cuting. This additional delay can be 
considered excessive because it need- 


UNIX™ COMPATIBLE 
COMMANDS FOR DOS 

Percent $95 


If you've used UNIX,™ you are probably frustrated by the 
limitations of your IBM-PC software. Percent brings UNIX- 
compatible commands to your IBM-PC, XT, or AT computer. 


Percent is Compatible. 

Percent Commands support a 
wide range of options and do 
UNIX™ compatible filename 
expansion, command substi¬ 
tution, variables and quoting. 

Percent Works with DOS. 

All your MS-DOS™ software, 
even your favorite editor, will 
run under the Percent Shell 
without modification. 

Percent Provides More. 

Percent gives you command his¬ 
tory, aliases, and instant help. 
Use / or \ in filenames, even for 
your existing commands. 

To Order. 

Send a check for $95 U.S., or 
use VISA/MC. If you have ques¬ 
tions, please call. We would like 
to send you more information. 

Thompson 

Automation 


Commands 

grep, fgrep - search files for patterns, 
diff - compare files, print differences. 

Is,II - sorted directory listing. 

pr - format files for printing. 

mv - move files or directories. 

cp - copy files or directories. 

rm - remove files or directory trees. 

cat - type or concatenate files. 

head - print first few lines of file. 

tail - print last few lines of file. 

cu - communicate with another computer. 

encode, decode - cu binary files. 

Not to mention... 

chmod, df, echo, mkdir, rmdir, wc, split, 
mkuser, tee, touch, pwd, test, printenv. 
Shell Internal Commands: 
if/then/else/fi - conditional execution, 
for/do/done - iterative looping, 
while/do/done - conditional iteration, 
set, =, shift, export - shell variables, 
alias, unalias - command macros, 
dirs, pushd, popd - directory stack, 
history - print history of commands. 

! - re-execute a previous command, 
which - find executable command, 
read - read a variable from the input. 
Percent Commands (execept shell 
internal commands) may be called from 
the Percent Shell or directly from DOS. 

PO Box 5163 
Beaverton, OR 97006 
Phone (503) 645-9434 


UNIX is a trademark of AT&T Bell Laboratories. MS-DOS is a trademark of Microsoft 
Corporation. 


CIRCLE NO. 178 ON READER SERVICE CARD 


lessly holds up the high-priority task 
while the intermediate task continues in 
its unrelated processing. 

iRMX eliminates delays of this sort 
when regions are used by automatically 
elevating the priority of a task holding a 
region to equal that of the highest 
priority task waiting for the region. If 
another task arrives, the priority is 
raised again. When a task releases a 
region, its original priority level is auto¬ 
matically restored. 

Regions can be configured (at the 
time they are created) to queue waiting 
tasks in either arrival order or task- 
priority order. Tasks requesting control 
of a region can do so in one of two 
ways. They can call ACCEPT $CONTROL 
either to gain control or to receive 
immediate notification that the region is 
busy, or they can call RECEIVE $- 
CONTROL, which waits as long as nec¬ 
essary to gain control of a region. Un¬ 
like its semaphore-manipulating coun¬ 
terpart, RECEIVE $CONTROL does not 
allow the calling task to specify a time 
interval after which it is to give up. 

INTERRUPT MANAGEMENT 

From a software architect’s point of 
view, the IBM PC’s 8259A interrupt con¬ 
troller device (or pair of devices in the 
AT’s case) provides two important inter¬ 
rupt management services. First, as con¬ 
figured by iRMX, it imposes a priority 
ordering on the PC’s interrupting 
devices. Second, it allows the selective 
masking of any hardware interrupt. 

A device’s interrupt priority, or 
level in Intel parlance, determines the 
treatment its interrupt service routine 
(ISR) gets when interrupted by another 
device before its processing of a first in¬ 
terrupt is complete. If the newly inter¬ 
rupting device lies at a higher priority 
level than the running ISR’s device, a 
nested interrupt is allowed to occur, 
and control is vectored immediately to 
the new device’s ISR. If it lies at an 
equal or lower priority level, the sec¬ 
ond interrupt is deferred until the first 
ISR issues an end-of-interrupt (EOI) in¬ 
struction to the interrupt controller. 

Most PC realtime systems are built 
to cooperate with the PC’s standard ap¬ 
proach to nested interrupt management 
(those that switch to a special interrupt 
stack, for example, must keep track of 
interrupt nesting so they do not switch 
to the stack when it is in use). Most do 
not rely upon or make use of the 
8259A’s ability to mask off specific inter¬ 
rupts. As a consequence, most realtime 
systems accept interrupts any time a 
task is running, in effect giving every 
ISR priority over the system’s highest 


138 


PC TECH JOURNAL 












3 g 


O- o 




pr: 3^ S 

9 3 § 

d f S- 

lie 

On 5 n> 
° 8 
tl’g 

05 n ^ 
sr 6i P. 

g. B* 8 

2, 

g 3 ^ 

-3 2? 


cn c 


O O 


o t/5 


P.'C 


rl 


p 


Sr* 


fD 


. 05 


05 


O 


tr 


o 






























NO POSTAGE 
NECESSARY 
IF MAILED 



BOULDER CO 80321 






priority task. iRMX is unique in that it 
uses the 8259A’s interrupt masking 
capability to place task priorities and 
(hardware) interrupt levels in the same 
priority space. Under iRMX, it is possi¬ 
ble to run tasks at priority levels high 
enough to take precedence over some 
or all hardware interrupt processing; a 
running high-priority task can block the 
execution of lower-priority ISRs. 

In designing an interrupt service 
procedure for a multitasking system, a 
programmer must choose among sev¬ 
eral strategies. If the device’s interrupts 
can be dismissed quickly, the job of ser¬ 
vicing the device can be performed 
within an interrupt service routine 
(ISR). In this case, the device’s ISR con¬ 
tends for processing time only with the 
ISRs of higher-priority devices. If more 
time-consuming work is required, or if 
potentially suspending system calls must 
be made in the course of processing an 
interrupt, it is best to code a minimal 
ISR that runs just long enough to signal 
a task, and allow the task to complete 
the rest of the processing. 

iRMX can provide comprehensive 
support for interrupt-handling tasks by 
employing the 8259A interrupt control¬ 
lers’ ability selectively to mask interrupt 
levels. Tasks that identify themselves to 
iRMX as interrupt tasks get special 
treatment from the scheduler: when an 
interrupt task is activated by its com¬ 
panion ISR, the interrupts of all lower 
priority devices are automatically dis¬ 
abled and are held off until the task has 
finished its processing. The task is thus 
assured freedom from interruption 
from lower priority devices. 

The PC is equipped with a single 
8259 device that provides eight levels of 
interrupts; the AT has two that, com¬ 
bined, provide 15 levels. The general 
8086-family of processors can be con¬ 
figured with as many as eight interrupt 
control (8259A) devices slaved to a 
single, master controller. Each slave 
provides eight independently controlla¬ 
ble interrupt priority levels—for a maxi¬ 
mum of 64. In interrupt processing, 

RTX creates a direct relationship be¬ 
tween interrupt priority level, interrupt 
vector location, and interrupt task 
priority (refer to table 2). 

A task installs an entry in the sys¬ 
tem’s interrupt vector by making the 
iRMX call SET$INTERRUPT. This call can 
install a simple ISR, or, optionally, es¬ 
tablish the calling task as the installed 
ISR’s companion interrupt task. 

If it establishes itself as an interrupt 
task, a task inherits special properties 
and gets special treatment from iRMX. It 
is immediately assigned an execution 


priority that corresponds directly to the 
interrupt priority level of its device. It 
also becomes more restricted in its 
activities than would a general-purpose 
task. Once it has made itself an inter¬ 
rupt task by calling SET$INTERRUPT, a 
task must confine itself strictly to the 
business of processing interrupts: wait¬ 
ing for a signal from its companion ISR, 
processing the interrupt, and looping to 
await another interrupt. A task remains 
under these restrictions until it calls 
RESET$INTERRUPT, which dismantles a 
device’s interrupt processing apparatus 


by disabling its interrupt level, remov¬ 
ing its ISR from the interrupt vector, 
and deleting the calling task. 

ISRs with companion interrupt 
tasks communicate with them using the 
two system calls. The task calls 
WAIT$INTERRUPT to await a signal from 
the ISR, which calls SIGNAL$INTERRUPT 
to activate the task. In a busy environ¬ 
ment, an ISR may be activated and call 
SIGNAL$INTERRUPT many times before 
its companion task gets a chance to run. 
When it first establishes itself via a 
SET$INTERRUPT call, an interrupt task 


C-terp 

TheC 
Interpreter 
You Won't 
Outgrow 



C-terp will grow with you as you progress 
from novice through professional to guru. 
Unbelievable, but true, the easiest-to-use 
C interpreter will provide you with the 
most advanced programming features for 
upward growth. Our exclusive object 
module support enables you to add 
libraries (like HALO, PANEL, Windows for 
C, etc., or your own homebrew libraries) 
to C-terp as you add them to your comput¬ 
ing repertoire. Use C-terp as a microscope 
on your libraries! Flip a bit and allow our 
software paging (NEW) to handle those 
big jobs! There are no fixed-size, tables 
to overflow, and C-terp can be configured 
for different screens and screen adapters 
(NEW). With multiple modules and full 
K&R support, we offer a dream C environ¬ 
ment. 

• Our new improved configurable editor 

competes with anything going. 

• Speed -- Linking and semi-compilation 
are breathtakingly fast. 

• Convenience -- Errors direct you back 
to the editor with the cursor set to the 
trouble spot. 

• Symbolic Debugging-- Set breakpoints, 
single-step, and directly execute C ex¬ 
pressions. 

• Compatibility guaranteed - batch file to 
link in your compiler's entire library. 
Supported compilers include: 

Computer Innovations C86, Lattice C, 
Microsoft C 3.0, Mark Williams C86, and 
Aztec C. 

• Many more features including batch 
mode and 8087 support. 


What Our Users/ 

Reviewers Are Saying 

"... easy to use, powerful, and a 
timesaver.'' 

"... we absolutely LOVE C-terp." 

"... has restored my faith in 
interpreters." 

"... a programmer's dream." 

"... wonderful technical assistance." 

"... increased our productivity by a 
factor of 40." 

.. the best C product ever, in any 
category." 


• Price: $300.00 (Demo $45.00) 

MC, VISA 

Prices include documentation and shipping 
within U.S. PA residents add 6% sales tax. 
Specify compiler. 

• C-terp runs on the IBM PC (or any BIOS 
compatible machine) under DOS 2.x 
and up with a suggested minimum of 
256 Kb of memory. It can use all the 
memory available. 

• C-terp is a trademark of Gimpel Software. 


lOW §®IF0!« 

3207 Hogarth Lane • Collegeville, PA 19426 

(215) 584-4261 


JUNE 1986 


139 













iRMX 



Made To Be Broken 

If you’re using Turbo Pascal, Turbo Extender 
is the software you need to break the 64K 
barrier. Now write programs as long as you 
need, limited only by available RAM. 

LARGE CODE MODEL 

Write programs using all 640K without 
overlays or chaining. Convert existing 
programs with minimal effort. Offers 
advanced dynamic binding or standard 
EXE files. 

MAKE FACILITY 

Offers separate compilation. No starting from 
scratch for source code changes. 

LARGE DATA ARRAYS 

Automatically manages data arrays up to 
30 megabytes, as well as arrays stored in 
expanded memory. 

ADDITIONAL TOOLS 

Overlay Analyst, Disk Cache, Pascal 
Encryptor, Shell File Generator, and File 
Browser. 

TURBO EXTENDER 

Includes 2 DSDD disks, complete source 
code, 150 page printed manual. Requires 
Turbo Pascal 3.0 and PCDOS 2.x or 3.x. 

Runs on IBM PC/XT/AT and compatibles. 

Call for MSDOS support. $85 COMPLETE. 

ALSO AVAILABLE 
TURBOPOWER UTILITIES 

Bruce Webster, in BYTE Magazine, February 
1986, named it Product of the Month, saying 
“If you own Turbo Pascal, you should own 
TurboPower Utilities, that’s all there is to it. ” 

It offers 9 programs in all, including the 
Program Structure Analyzer which locates 
subtle coding problems the compiler fails to 
catch. It also produces reports that describe 
your code, providing cross reference and 
hierarchy diagrams. Also includes Execution 
Timer, Execution Profiler, Pretty Printer, 
Command Repeater, Pattern Replacer, 
Difference Finder, File Finder and Super 
Directory. 

TURBOPOWER UTILITIES 

Come compiled, ready to use. Includes 
manual, reference card, threb DSDD disks, 
complete source code. Requires Turbo 
Pascal 2.0 or 3.0. $95 with source code; 
$55 executable only. 

GET BOTH TURBO EXTENDER AND 
TURBOPOWER UTILITIES (Source) $149 

MC/VISA CALL TOLL-FREE 7 days a week 
800-538-8157 x830 (CA) 

800-672-3470 x830 For PO, COD, 

Dealers, Info, Brochures - call or write: 

478 W. Hamilton #796 
Campbell, CA 95008 
(408) 378-3672 M-F 
9AM-5PMPST 

INTERNATIONAL REPRESENTATIVES 
Switzerland: Software Haus 064-512651 
Japan: Southern Pacific Ltd. 045-314-9514 
Norway: Polysoft 03-825275 
England: Grey Matter Ltd. 0364-53499 
Australia: Videogram Communications 02-627-1261 


CIRCLE NO. 193 ON READER SERVICE CARD 


specifies the maximum number of un¬ 
processed SIGNAL$INTERRUPT calls that 
iRMX should allow to accumulate be¬ 
fore disabling the task’s associated inter¬ 
rupt level. If a device gets too far ahead 
of its task, iRMX applies this automatic 
throttling to the device by disabling its 
interrupts until the interrupt task has 
run and called WAIT$INTERRUPT, and 
thus has reduced the count of outstand¬ 
ing interrupt service requests. 

ISRs and interrupt tasks can com¬ 
municate data and control information 
through a shared data segment. ISRs 
with companion tasks have the option 
of causing the iRMX system to call 
ENTER$INTERRUPT when they are acti¬ 
vated. ENTER$INTERRUPT loads a data 
segment that is shared with the inter¬ 
rupt task (see figure 2). Whether or not 
they share data with an interrupt task, 
ISRs must call EXIT$INTERRUPT before 
returning. EXIT$INTERRUPT sends an 
end-of-interrupt signal to interrupt con¬ 
trol hardware and allows interrupts of 
equal and lower priority to resume. 

ISRs can call only on a highly re¬ 
stricted set of system calls. iRMX thus 
enforces its guideline that interrupts re¬ 
quiring substantial processing be ser¬ 
viced by an interrupt task instead of by 
a simple ISR. An ISR cannot, for exam¬ 
ple, refer to semaphore or mailbox ob¬ 
jects; all interaction between an ISR and 
system tasks must be achieved indirectly 
by the ISRs companion task. This is a 
departure from the common approach 
to ISR/task communication—most multi¬ 
tasking systems permit ISRs to make 
(nonsuspending) system calls, such as 
posting units to a semaphore, in order 
to synchronize with tasks. 

EXTENSIONS TO iRMX 

A systems architect willing to undertake 
operating system-level implementation 
can expand iRMX in two important 
dimensions. New system calls— operat¬ 
ing system extensions —can be imple¬ 
mented and new object types— exten¬ 
sion objects —can be added to the iRMX 
repertoire. Operating system extensions 
can be called by application tasks 
through the interrupt vector. iRMX 
reserves the last 32 interrupt vector lo¬ 
cations for use in calling operating sys¬ 
tem extensions (the extension mecha¬ 
nism allows the addition of a virtually 
unlimited number of system calls, by 
multiplexing the use of the 32 vectors). 
Operating system extensions. To create an 
operating system extension, a systems 
builder must provide two components: 
an interface procedure and a function 
procedure. Interface procedures are 
linked with application jobs; they collect 


the system call’s parameters in a suit¬ 
able form and execute the extension’s 
assigned software interrupt. The func¬ 
tion procedure sits on the “other side” 
of the interrupt; it receives control from 
the interface procedure and performs 
the work that is necessary to the func¬ 
tion of the system call. 

Because they are accessible via the 
interrupt vector, it is not necessary to 
combine function procedures, using the 
object module linker, with the applica¬ 
tion jobs that use them. Function proce¬ 
dures run with privileges not available 
to application code. They can, for exam¬ 
ple, make objects immune to deletion 
using the DISABLE $DELETION call. 

However, they inherit additional 
responsibilities along with the privi¬ 
leges. Extensions should be constructed 
to participate in iRMX’s exception 
reporting and handling scheme just as 
standard system calls do. Intel recom¬ 
mends that, before invoking a system 
call’s function procedure, an extension’s 
interface procedure save the calling 
task’s exception handling address and 
mode and substitute its own. By inter¬ 
posing its own exception management, 
an extension can appropriately hide, 
filter, modify, or pass along exceptions 
that its function procedure provokes in 
the course of processing an application 
task’s request. The interface procedure 
is responsible for restoring the calling 
task’s exception handling apparatus 
before returning control to the task. 
Extension objects. With system calls 
CREATE$EXTENSION and CREATE $- 
COMPOSITE, iRMX supports the crea¬ 
tion of new object types in addition to 
the Nucleus’s eight built-in types. 
CREATE $EXTENSION returns a token 
that is, in effect, a license to create 
objects of a new type. CREATE $- 
COMPOSITE actually creates new 
objects, building them as compositions 
of other objects. By building composites 
of composites, objects of arbitrary 
complexity can be constructed. 

To support a new object type, a 
system must provide a type manager 
module , consisting of an initialization 
part and a service part. The initialization 
part creates the new object type and 
establishes a mailbox to which the new 
objects can be sent for deletion when 
their owning jobs are deleted. The ser¬ 
vice part, which may or may not contain 
operating system extensions, provides 
the primitive functions by which 
application tasks are able to create and 
manipulate the new objects. 

Several reasons might influence a 
designer choosing to implement new 
iRMX objects instead of simply building 


sp® 


140 


PC TECH JOURNAL 























ONCE IN A LIFETIME A NEW PRODUCT APPEARS ON 
THE HORIZON THAT SHINE ABOVE ALL OTHERS 


THE CREATOR™ 

' APPLICATION GENERATOR 

by Advanced Development Technologies 

v ‘ ★ FOURTH GENERATION PRODUCTIVITY 

* ELIMINATE DATABASE MANAGMENT SYSTEMS 

* A COMPLETE APPLICATION 
GENERATION ENVIRONMENT 

★ DEVELOP APPLICATIONS IN LESS TIME 

♦ REDUCE CODE REQUIREMENTS 
BY 90 PERCENT • , 

i, 

★ TRAPS ERRORS WITH DETAIL ANALYSIS 



MULTIPLE FILE ACCESS ' 
WITHOUT PROGRAMING 


★ 99 INDEXES PER DATA FILE . 

★ AUTOMATIC RECORD LOCK 

★ UNLIMITED FILE AND 
RECORD SIZE 

★ PRODUCES COMPLETE 
DOCUMENTATION 


Internal Expression Compile 
Relational File Structure 
ISAM File Access Method 
Screen and Report Generator 
Rich Library of Functions 
Data Dictionary 

System and User Defined Variables 


$99 

MASTERCARD/VISA 



For Only $99 The CREATOR™ Lets You Develop 
Applications Without Being Bogged Down By 
• ' . j * • * A Lot Of Code. Regardless Of How Simple Or 
. : x Sophisticated The Applications, Save Hundreds Of 
/" ' Hours Of Programing By Using This Advanced Method 

• ' Of Application Development. Manages All Phases Of 
Program Development: 

• Program Generation • Database Defination • 

• Screen And Report Formation • Multiple Levels of Menus. 
A Complete Development System Available For IBM, PC, XT, 
and AT Requires 256K RAM Includes Unlimited Run Time 


800-528-6060 

EXT. 239 

CHECKS AND MONEY ORDERS ACCEPTED 

m 0 

®THE CREATOR™ IS A TRADEMARK OF 

ADVANCE DEVELOPMENT TECHNOLOGIES 
2720 N. 68th St., Suite 5379 

Scottsdale, Arizona 85257 . ibmpc.xt. ah. a 

QA C 1 OTC , Copywright of International 

* wVyfc" 7 4J" I V/ J Business Machines, Inc. 


CIRCLE NO. 190 ON READER SERVICE CARE 


iRMX 


At last! - Fast, On-screen 

FLOWCHARTS 

And Organization Charts 


Finally! An on-screen flowchart proc¬ 
essor that knows about flowcharts and 
organization charts - not just another 
“screen draw” program that makes you 
do most of the work. 

Interactive EasyFlow is a powerful 
full-screen graphics program dedicated 
to flowcharts and organization charts. 
With this program you can quickly com¬ 
pose charts on the screen. More im¬ 
portant, you can easily modify charts so 
they are always up to date. 

Features: • Text is automatically 
centered, character by character, within 
shapes as you type it • Text formatting 
controls allow you to over-ride the auto¬ 
matic formating where desired • Lines 
are created by specifying the starting 
and ending points - the program auto¬ 
matically generates the route • Power¬ 
ful editing facilities allow shapes and 
even entire rows and columns of shapes 
to be inserted or deleted; lines are auto¬ 
matically re-routed as necessary 
• Large chart size (up to 16 shapes 
wide by 16 shapes high) allows very 
large flowcharts and organization charts 
to be handled with ease • Charts can be 
larger than the screen - the window into 
the chart scrolls both horizontally and 
vertically as necessary • Flexible print¬ 
er interface allows it to work with all 


printers, not just dot matrix printers. 
Wide charts can be printed in strips Also 
works with Hewlett-Packard 7475A (and 
compatible) plotters • Twenty standard 
flowcharting shapes included • Com¬ 
mon shapes supplied in three sizes 

• Extensive manual (125 pages) in¬ 
cludes many examples • Context 
sensitive “help” facility provides im¬ 
mediate assistance at any time • Any 
number of titles can be placed on a chart 

• Commentary text blocks can be 
placed anywhere in the chart • Fast: 
written in 8088 assembler • Plus many 
more features than we can mention 
here. 

Requires at least 256K memory, DOS-2 
or higher and an IBM or Hercules com¬ 
patible graphics card. 

Order direct for only $149.95 + $2.00 
S&H (USA/Canada), $10.00 (foreign). 
Payment by MO, check, VISA, COD or 
Company PO. Rush orders accepted 
($15.00 S&H; USA/Canada only). Rush 
orders received by noon will be delivered 
the next business day (to most 
locations). 

The sample screen display shown below is typical of 
what you see while editing a chart. Other screen dis¬ 
plays are provided for entering titles, changing 
options, getting “help” and so on. 


STATUS BAR (not to be 
confused with a wet bar) tells 
you what Interactive EasyFlow 
is doing at all times. \ 


TEXT/MESSAGE 
WINDOW used to enter 
user text and to display 
messages from Interactive 
EasyFlow. 


CURRENT SHAPE 
WINDOW - shows the 
content of the current 
flowchart shape (the one 
under the SHAPE 
CURSOR) in complete 
detail. 


HavenTree Software Limited 

P.O. Box 1093-N 

Thousand Island Park, NY 13692 

(613) 544-6035 ext 48 

CIRCLE NO. 113 ON READER SERVICE CARD 


CHART WINDOW gives an overview of your chart; this 
example shows the “normal” view. “Close-up” view shows a 
smaller part of the chart in more detail. “Wide-angle” view 
shows a larger part of the chart at reduced size. 



SHAPE CURSOR shows where you are in 
the chart. Cursor keys move it around; chart 
window scrolls if you run off the edge of the 
window. 


an application to create and manage, 
without the operating system’s coopera¬ 
tion, its own functional modules or data 
structures. Extension objects can simpli¬ 
fy and standardize the view of systems- 
level function that is presented to appli¬ 
cation programmers. The same rules 
that application builders have learned 
to observe for passing standard iRMX 
objects through mailboxes, for example, 
apply to extension objects. 

Extension objects simplify the job 
of the systems designer as well, by pro¬ 
viding well-defined interfaces for crea¬ 
tion, deletion, and communication of 
objects among tasks. A designer imple¬ 
menting a “ring buffer” object for use 
in an application, for example, need not 
start from scratch in designing an appli¬ 
cation interface for the new structures. 
Instead, he can model the set of calls 
for manipulating ring buffers after 
iRMX’s calls for manipulating mailboxes. 

I/O SUPPORT SUBSYSTEMS 

The RTCS adaptation of iRMX for the AT 
is configured with both iRMX optional 
I/O support layers present. Application 
programs use the services of the BIOS 
and EIOS by making system calls. Al¬ 
though the extended system logically 
sits on top of the basic system, applica¬ 
tions can call directly to either layer. 

Together these two support layers 
provide a full complement of function, 
including buffered, device-independent 
I/O, and management of hierarchical 
systems of named directories and hies. 
Applications requiring flexible, high- 
performance, no-frills I/O service can 
call directly on the BIOS to perform 
asynchronous, unbuffered I/O. Those 
that can afford more processing over¬ 
head can take advantage of the less 
flexible, but easier to use EIOS. 

Device drivers in an iRMX system 
are considered logical parts of the 
BIOS. RTX includes drivers for the 
system console (keyboard and display 
device), floppy- and hard-disk drives, 
printer, and serial I/O ports. In current 
releases, applications interface to the 
PC’s graphics adapters is not provided. 

The BIOS device drivers form the 
bottom layer of an interface that, from 
an application task’s viewpoint, provides 
device-independent access to system de¬ 
vices. Before using an I/O device, a task 
must call on the I/O systems to estab¬ 
lish two connections. First, a device 
connection is established by RTX at sys¬ 
tem initialization; it attaches a logical 
name and a logical device object to a 
particular device’s driver. Because it 
must name a physical device, a task es¬ 
tablishing a device connection (that is, 


142 


PC TECH JOURNAL 


























FIVE 

TERRIFIC 
REASONS 
TO TRY 
TAPESTRY 
NOW 

No matter what local area nelwork hard¬ 
ware you choose-your next choice 
should be Tapestry networking software 
from Torus Systems. Here's why. 

1 IBM chose Tapestry for its over¬ 
seas market and it quickly became 
the hottest LAN system in Europe. 



This is the friendly screen that caught 
Big Blue's eye. 

2 It's the world's easiest-to-use 
networking software -much 
simpler than Novell, 3Com, or IBM 
because Tapestry is managed with 
icons. To use it, you just point to graphic 
symbols: the "in-tray" to get mail, the 
"cabinet' to access files, and so on. 

You even use icons to configure the 
system, so almost anyone can set up a 
Tapestry nelwork-and keep it running 
smoothly. 

3 Tapestry is the most complete 
LAN software money can buy. 

The basic system gives you: 

• Advanced electronic mail 

Compose memos with the Torus text 
editor. Send them to any person or 
group on the network, just by pointing 


At Last A Nelwork That's Easy To Use 





What good is a nelwork if your people 

don't know how to use it? Tapestry's 

screens are so easy to understand, 
anyone can net great results without 
special skills or training. 

4 Tapestry supports all the 
st andards, like IBM Token-Ring, 
PC Network and 3Com hardware. Like 
PC-DOS 3.1 and NETBIOS. So you can 
choose the LAN hardware that's best 
for you, and you won't have to worry 
if your software will runf* 


r 


to names. Track the mail you've sent. 

Get messages instantly. 

• Cost-effective sharing of hard disks, 
printers and modems 

You can have up to 100 Tapestry 
workstation/sen/ers and access any 
one of them by touching the right 
icon. Since all Tapestry servers are 
undedicated, each station is free for 
business as usual. You don't have 
to invest in specialized hardware, or 
sacrifice your valuable PC's. 

• Advanced communications 
capabilities 

Need information from the company 
mainframe or an outside service? Just 
point to the desired Service icon. Torus 
offers a family of network gateways* 
that automatically make the connection 
and speed your information through. 
•And there's more! 

Tapestry also provides central storage 
of all your applications so they too can 
be accessed with icons. Automatic 
file locking so you can safely run single- 
user applications not originally 
designed for nelworks. File Manager 
icons that let you manipulate files 
without using DOS commands. And a 
Telephone Manager that places your 
calls and maintains a personal elec¬ 
tronic rolodex. 


5 This coupon gives you 
great savings and a 
money back guarantee! 

Usuallyjapestry costs $495 
for your first workstation, and 
$295 for each additional 
station. BUT NOW YOU CAN 
GET A TAPESTRY STARTER 
PACK (SOFTWARE FOR TWO 
STATIONS) FOR JUST $295! 

If you aren't satisfied with 
Tapestry for any reason, you can 
return it within 30 days of ship¬ 
ment, and we'll gladly refund your 
purchase price (less $50.00 
restocking fee.) 

So send this coupon to us, 
take it to your Torus Dealer, 
or call in your order today, and 
start networking the easy way. 


1 


Phone 

Networking Hardware_ 

Number of Workstations in 

Subtotal $295! 

Add $7.00 shipping/handling- $_ 


California residents add 6]6% sales tax 
($19.18) 

Amount enclosed 
Payment VISA MC Check H 

Credit Card Exp. Date DH 

Card # _ 


This otter is good only in U.S. and Canada, and may be 
discontinued without notice. 

T-^r-^l , n * * * 4 95 Seaport Court, Suite 105 
(Cy) I Jr IS Redwood City, CA 94063 

(415)383-2418 

System Requirements: Station 1: IBM PC, XT, AT or compatible 
384K, 10MB hard disk. Station 2: IBM PC, XT, AT or compatible 
320K. Plus suitable networking hardware. 

Notes: TfY is standard, while VT100,3270SNA, and Remote 
Access are purchased separately. “Tested appBcatfons indude: 
dBase III Plus, MultiMate Advantage, Open Systems Accounting, 
Displaywrite 3, WordPerfect, MS Word, Lotus 1-2-3, AutoCAD. 

Torus and Tapestry are registered trademarks of Torus Systems, 
UdTrademarte^ Displaywrite 3 and 

PC-DOS- IBM Corp; MS Word- Microsoft, Inc; dBase III Ptus- 
Ashton-Tate; 1-2-3 and Lotus - Lotus Development Corp; 
WordPerfect- Satellite Software International; AutoCAD - 
Autodesk, Inc; MultiMate Advantage-MultiMate International; 

Novell -Novell, Inc; Open Systems Accounting -Open Systems, Inc. 
CIRCLE NO. 184 ON READER SERVICE CARD 
© 1986 Torus Systems, Inc. 
































iRMX 



Pave an Interstate Link 
to Your PC 




tions, in effect allowing tasks to take the 
role of devices (these are files with no 
coupling to physical devices). Stream 
hies may be concurrently written by 
one task and read by another. 

To use named hies, a task must be¬ 
long to a job that has established user 
information for iRMX inspection. Using 
the BIOS’s named hie management ser¬ 
vices, secondary storage devices may be 
subdivided into volumes , each of which 
contains a single tree of directories and 
hies. A volume containing named hies 
is managed like a DOS hie system, but 
with the additional capability of individ¬ 
ually controlling each hle’s accessibility 
on a user-by-user basis. Delete, list, add 
entry, and change entry rights to direc¬ 
tories may be assigned to individual 
users. Files carry individually assignable 
delete, read, append, and update privi¬ 
leges. Jobs that travel with user informa¬ 
tion are termed I/O jobs. 

Physical iRMX hies occupy entire 
devices. Sequential devices such as 
printers, plotters, and various display 
devices are treated most conveniently as 
physical hies. Under some circum¬ 
stances, it is also useful to treat random 
access disk or disk-like devices as physi¬ 
cal hies. In formatting a disk, for exam¬ 
ple, or in interpreting the contents of 
some foreign hie system on a diskette, a 
disk is best treated as a stored sequence 
of bytes with no special internal struc¬ 
ture; physical hies present this view of 
the contents of a storage device. 

Tasks use physical devices much as 
they use named hies, but with a simpler 
set of operations. To use a physical hie, 
a task must establish a device connec¬ 
tion, then a hie connection, then open 
the hie. Once open, the task can read 
and write data to the hle’s associated 
device, seek to specihc positions (if it is 
a random access device), and perform 
any other functions supported by the 
device’s driver. Unlike named hies, 
physical hies do not carry access con¬ 
trol information. They can be manipu¬ 
lated freely by any task that establishes 
and opens a hie connection. 

Stream hies, though accessed using 
the I/O systems, are not attached to any 
physical device. They provide a means 
for connecting two tasks in a reader/ 
writer relationship. As part of system 
initialization, the I/O system establishes 
a device connection to a pseudo-device 
representing a data stream. Tasks 
wishing to engage in stream I/O must 
establish a hie connection through this 
special device connection. Once a 
stream hie connection is established, a 
task uses it to read or write data (de¬ 
pending on its role in the conversa- 


creating a data conduit to a particular 
device) is not deviceindependent. File 
connections are similar to wires that 
pass through device connections; they 
are established by calling either S$AT- 
TACH$FILE or S$CREATE$FILE, depend¬ 
ing on whether or not the hie already 
exists. File connections identify devices 
by referring to previously established 
device connections, not by naming the 
device, and thus are established in a 
device-independent way. Application 
tasks routinely make and break hie con¬ 
nections dynamically. Once a hie con¬ 


nection is in place, a task calls SfOPEN 
to open the hie for reading and writing 
in the conventional way. 

The I/O system provides the man¬ 
agement of three kinds of hies: named, 
physical, and stream. Named files can 
be maintained on random access sec¬ 
ondary storage devices, such as disk 
drives, in conventional directory struc¬ 
tures. A physical file occupies an entire 
physical device, allowing it to be man¬ 
aged at a low level, as if it were a single 
string of bytes. Stream files provide a 
mechanism for intertask communica- 


Traffic jam ... detour... stop light... 
wait state ahead... limited access... 
oversized vehicle ahead...project 
behind schedule.. .caution... pot¬ 
hole, slow down! 

This is the way your old serial card 
handles communication between 
your IBM PC and peripherals — like 
a back road through Hoboken. 

But now, with the new expanded 8- 
channel serial card called ACL™ (for 
Advanced Communication Link), 
you can make it think an Interstate is 
plugged into the I/O. 

Using its own on-board CPU plus 
an array of supporting components, 
the new ACL card widens the road 
between PCs and mainframes, 


printers, modems, plotters, and 
remote terminals. Now, your PC is 
free to do the “thinking” you 
demand of it, and doesn’t waste time 
as a traffic cop. 

Call for free literature that explains 
how to get rid of bottlenecks and 
stalled data in your PC. 


33800 Curtis Blvd., Eastlake, OH 44094 (216) 951-5922 


TCC//A/OZ OG/ES /A/C 


144 


CIRCLE NO. 177 ON READER SERVICE CARD 


PC TECH JOURNAL 









































WHEN YOU NEED 
ACCESS TO FULL MEMORY, 
STRUCTURE, 
COMPATIBILITY WITH 
GW- & PC-BASICA, 

OR 

WHEN YOU NEED THE 
POWER AND FLEXIBILITY 


OF C OR PASCAL... 






.. .You need BetterBASIC. 

The BetterBASIC compiler has 
become the standard by which other 
BASICs are evaluated. BetterBASIC is 
completely compatible with GW-BASIC and 
PC-BASICA when running on IBM PC’s and true 
clones. You can load and run your existing BASIC 
programs in BetterBASIC. It uses standard Microsoft 
syntax and gives you more than 150 additional state¬ 
ments such as XREF, DEFINE WINDOW, MAKE MOD 
ULE, and PROCEDURE. In benchmark comparisons, 
BetterBASIC is five times faster than interpreted BA¬ 
SIC. There is optional 8087/80287 math chip support, 
and an optional Runtime System to create stand-alone 



' 


EXE. files. BetterBASIC is not 
copy protected. Technical support is 
provided for all registered users. 

See for yourself why Dick Aarons of PC Magazine 
said “BetterBASIC may be the best of all BASIC pro¬ 
gramming worlds” and selected BetterBASIC as 
Editor’s Choice” (Oct. 29,1985). 


BetterBASIC 

8087/80287 Math Chip Support 
Runtime System 
Sample Disk with Tutorial 

Ask your dealer 
or call to order: 


$199 

$99 

$250 

$10 


1 - 800 - 225-5800 

In Canada, call 416-469-5244 


BetterBASIC is a registered trademark of Summit Software 
Technology, Inc. IBM PC, XT, AT are registered trademarks 
of International Business Machines Corp. Microsoft is a 
registered trademark of Microsoft Corp. Thndy is a registered 
trademark of Thndy Corp. 



CIRCLE NO. 195 ON READER SERVICE CARD 


Summit Software Technology, Inc™ 

106 Access Rd. Norwood, MA 02062 




iRMX 


tion); data are delivered from the writer 
to the reader via BIOS facilities. 

In addition to serving a useful role 
within a production system the stream 
I/O facility creates practical flexibility 
for systems developers by allowing 
tasks to serve in the role of input or 
output devices. A device for which 
hardware or software is not yet com¬ 
plete can be simulated by a task in 
order to expedite system integration 
and testing. Alternatively, systems devel¬ 
opers can take advantage of the I/O sys- 
tem’s device independence to capture a 


stream of data in a named disk hie for 
analysis, instead of passing it along to 
its ultimate destination. 

The EIOS allows the specification 
of a buffering level in association with 
each hie at the time a hie connection is 
established. If zero buffers are speci¬ 
fied, every task call for I/O through the 
connection results in a physical opera¬ 
tion on the hies associated device. If 
one or more buffers are made available, 
the system automatically blocks data 
and defers physical read (write) opera¬ 
tions until buffers are (empty) full. Mul¬ 


tiple buffers allow the I/O system to 
perform read ahead/write behind-style 
management of hie I/O. 

Tasks using EIOS calls to read and 
write hies automatically run synchro¬ 
nously with the hie system; that is, they 
receive control back from an I/O call 
only when the requested operation is 
hnished. Tasks also have the option of 
calling around the EIOS and using the 
facilities of the underlying BIOS di¬ 
rectly. Using the basic system’s calls, 
tasks can initiate a read or write opera¬ 
tion, continue with other processing in 
parallel with the performance of the 
I/O, then call the system back to await 
completion of the operation and to 
check its status. 

DEVELOPING RTX APPUCATIONS 

Because RTX includes UDI, any of 
Intel’s systems development tools built 
to access iRMX services will run under 
the RTCS product. These tools include 
an assembler, a linker and locator, and 
compilers for the FORTRAN, Pascal, C, 
and PL/M languages. The standard RTX 
package from RTCS includes Intel’s 
assembler, linker, and locator; program¬ 
ming languages are available separately, 
also through RTCS. 

In addition to hosting Intel’s soft¬ 
ware development tools, RTX serves as 
a general-purpose software develop¬ 
ment environment by making other 
iRMX facilities available to the system 
developer. Developers using RTX as a 
base can communicate with iRMX using 
its Human Interface capabilities for in¬ 
teractively accepting and executing user 
commands. File storage is provided by 
the iRMX I/O systems, which maintain 
hierarchical, DOS-like systems of named 
hies. On PCs configured with 512KB of 
memory, the RTX operating system can 
support multiuser operation, offering 
systems developers an option not avail¬ 
able with DOS-based development. 

RTX users have the option of 
developing software under DOS. RTCS 
Corporation’s RTCS/UDI package equips 
a PC or PC/AT running PC-DOS with a 
fully Intel-compatible UDI, enabling it 
to run any of Intel’s standard utility and 
software development programs. The 
PC UDI requires 256KB of memory, one 
360KB floppy-disk drive, and PC-DOS 
version 2.0 or later. 

To bring the UDI up under DOS, 
the user runs the RTCS program UDI, 
which installs a layer of resident intelli¬ 
gence in the DOS environment. Once 
UDI is installed, it sits between the user 
and the DOS command processor and 
allows the execution of three types of 
commands: ordinary DOS commands 


Programmer 

Essentials 


0 “Offers many capabilities for a reasonable price” o' 

\o W. Hunt, PC Tech Journal °/ 

\o “I highly recommend the 0 UTILITY LIBRARY” o/ 



□essentials $100 

200 functions: video, strings, keyboard, directories, files, time/date and more. 
Source code is 95% C. Comprehensive manual with plenty of examples. Demo 
programs on diskette. Upgrade to THE C UTILITY LIBRARY for $95. 

THE □UTILITY LIBRARY $185 

Thousands in use world wide. 300 functions for serious software developers. 
The C ESSENTIALS plus “pop-up” windows, business graphics, data entry, DOS 
command and program execution, polled async communications, sound and 
more. 

ESSENTIAL GRAPHICS $250 

Fast, powerful, and easy to use. Draw a pie or bar chart with one function. 
Animation (GET and PUT), filling (PAINT) and user definable patterns. IBM color, 
IBM EGA and Hercules supported (more soon). NO ROYALTIES. Save $50 when 
purchased with above libraries. 

Compatible with Microsoft Ver. 3, Lattice, Aztec, Mark Williams, CI-C86, 
DeSmet, and Wizard C Compilers. IBM PC/XT/AT and true compatibles. 

□compiler Packages: Microsoft C - 319, Lattice or CI-C86 compilers 
-$329. Save $40 - $50 when purchasing compiler and library combinations. 
Specify C compiler and version number when ordering. Ada $4for UPS or $7for 
UPS 2-day. NJ residents add 6% sales tax. Visa, MC, Checks, PO’s. 

ESSENTIAL SOFTWARE, INC 
P.O. Box 1003 Maplewood, NJ 07040 914/762-6605 


CIRCLE NO. 120 ON READER SERVICE CARD 




146 


PC TECH JOURNAL 


















Where's The Logical Connection™? 


No more spaghetti! 

At last there's an easy way to 
connect printers, computers, 
modems and other devices 
together — in any configuration! 
The Logical Connection™ gives 
you 8 programmable ports (4 
serial, 2 parallel in and 2 parallel 
out) that you can connect any way 
you want. If you need more, you 
can "daisy-chain" them together to 
interconnect up to 270 separate 
devices. And if you have 
computers in more than one 
location, The Logical Connection™ 
can link everything in one office to 
everything in another over a single 
twisted-pair wire! (Or a single phone 
line with a modem at each end). 

Share your printers. 

Now you can give every 
computer in your office access to 
every printer — even if they're 
strung out all over the building. 
And because The Logical 
Connection™ gives you software 
control over which output goes to 
which input, you'll never have to 


unplug another cable to share your 
resources. 

Fully programmable. 

The Logical Connection™ 
provides automatic parallel to serial 
and serial to parallel conversion. 

Just plug in your devices and call up 
The Logical Connection's™ user- 
friendly configuration menu on your 
monitor. It will guide you step by 
step through the process of defining 
inputs and outputs, with extensive 
online help and easy to understand 
prompts. And you can change 
configurations just as easily, as often 
as you want. 


A big, smart buffer. 

You won't have any 
slowdowns (or disasters) if three 
computers want to use the same 
printer at the same time, because 
The Logical Connection™ has a big 
256K buffer built-in, with sockets for 
easy installation of another 256K. 
Smart buffer management spools 
each document for printing in the 


order received, so your computers 
can keep right on working. 

The logical conclusion. 

So if you're looking for a 
simple solution to the problem of 
connecting (and sharing) multiple 
printers, plotters, modems and 
other devices, it's time you got the 
connection. Get The Logical 
Connection™ at your leading 
computer dealer, or order direct 
from Fifth Generation Systems. 



Fifth 

Generation 

.-.—. SYSTEMS 

Innovative Products Using Today's Technology 
CIRCLE NO. 125 ON READER SERVICE CARD 


7942 Picardy Avenue. Suite B350, Baton Rouge, Louisiana 70809 • (213) 493-4483 










5 you can draw 
your own conclusions. 

* Drafix 1. The first high performance CAD software everyone can afford. 


Low-cost, high performance computer- 
aided design & drafting (CAD) software is 
finally available for use on your PC. 

There’s never been a professional CAD 
package so complete at such a low cost. 

Drafix 1 from Foresight Resources. 
Only $295. 

Powerful, full-featured second 
generation CAD software. 

Drafix 1 offers all of the capabilities 
you expect to find in packages costing 
$2,000 or more. 

This is not simply a souped-up paint 
package. Drafix 1 is a breakthrough in 
design that organizes sophisticated CAD 
functions into smooth, fast operations. 

All of the drawing, designing and editing 
functions that designers demand from a 
serious CAD tool are included in Drafix 1. 


first high performance 

A breakthrough in screen design 
and visual user interface. 

Drafix 1 features the best organized 
screen design ever devised. Very simply, 
it displays all the information you need, 
all of the time. 

The entire menu hierarchy is displayed 
constantly. There’s no need to memorize 
commands or search for menus. 

Snap-mode options are continually 
shown on the left screen border and can 
be selected “on the fly” by either pointer 
device or a single keystroke. Roll-down 
screens provide quick access to the vir¬ 
tually unlimited drawing, display and 
editing options. 

And it’s all controlled by a versatile 
three-button mouse, or digitizer, with on¬ 
screen prompts so each button function is 
clearly defined. 

AutoCAD® compatible for easy 
expansion. 

If you or someone in your company 
already uses AutoCAD, Drafix 1 offers an 
inexpensive way to add to your capability. 


everyone 

The optional Drafix 1/AutoCAD file ex¬ 
change utility permits transfer of draw¬ 
ings between Drafix 1 and AutoCAD. 

It’s the perfect, low-cost alternative 
for increasing your drafting and design 
capacity. 

Low introductory bundle prices. 

To get you up and running we offer 
two special bundles—all the equipment 
you need at introductory prices you won’t 
believe. 

Get Drafix 1 with your choice of the 
Mouse Systems’ optical mouse or Torring- 
ton’s Manager Mouse® for just $395.00. 

Or get Drafix 1 with SummaSketch 
12 "x 12 " digitizer tablet with stylus 
for just $585.00. 

Order today. Take advantage of our 
30 -day, money back guarantee. 

We’re so certain you’ll like the per¬ 
formance and versatility of Drafix 1 you’re 
welcome to try it risk free for 30 days. If 
you’re not completely satisfied, return it 
to us for a full refund. 

Find out just how good CAD software 
can be. For only $295.00. 

Use our toll-free number and any 
major credit card to order your copy 
of Drafix 1 today. 



SPECIFICATIONS 

Modify/Edit 

Attributes 

Code specifications 

Break/Divide 

Lattice “C” language 

Fillet/chamfer 

Malo graphics 

Trim 

Floating point database 

Stretch 

Coprocesser support 

Erase 

PC-DOS/MS-DOS 2.1 or later 

Explode symbols & polygons 

Drafix 1 Features 

Mask 

Items 

Replace 

Lines 

Merge 

Pt markers 

Region select 

Arcs & circles 

Note text 

Workgroup 

Polygons & ellipses 
Symbols/individual & nested 

Auto hatching, polygon fill 

Item attributes 

Auto Dimensions 

16 pen colors 

Linear Hor/Ver/Aligned 

255 Layers 

Angular 

8 Linetypes 

Oia/Radius 

12 Text fonts 

Leader Notes 

32 Pt marker types 

Ordinate 

Screen Display 

Chain & Baseline 

Zoom/Pan/Full 

Check calculations 

8 Save Views 

Coordinates 

Slide save/view 

Distance & angle 

Grids on/off 

Area & perimeter 

Metric & English Standards 

Item Masking 

Engineering (decimal/fractional) 

Hardware 

Architectural (ft in) 

Computers 

IBM PC XT AT and compatibles 

Project drawing info. 

AT&T 6300 Plus 

Zenith 

Numeric input 

System Requirements 

Keyboard and cursor 

- 512K RAM 

Absolute. Relative. Polar 

- RS-232 Comm port 

Snap Modes 

- Mouse or digitizer 

Gridpoint 

- Coprocessor recommended 

Endpoint 

Graphics Display boards 

Midpoint 

IBM CGA/EGA and compatibles 

Intersect 

Hercules, and a wide range of 

On item 

graphics boards 

Quadrant 

Digitizers & Locators 

Tangent 

All popular locator devices supported 

Arc center 

Plotters 

Transform/Copy 

All popular plotters ("C" size) 

Move 

supported 

Rotate 

“E" size plotter option available 

Scale 

Printers 

Mirror 

All popular laser and dot matrix 

Align 

printers supported 


Order Now! Call Toll-Free! 

1 - 800 - 231 - 8574 , 


Ext. 500 

□ Drafix 1 CAD Package 

□ Drafix 1 with Mouse 

Mouse Systems_ 

Torrington 


$295 

$395 


□ Drafix 1 with SummaSketch tablet$585 

□ AutoCAD File Exchange Utility $ 95 

Dealer inquiries welcome 

Check, money order, Visa 
and MasterCard accepted 

FORESIGHT 

RESOURCES CORP.™ 

932 Massachusetts 
Lawrence, KS 66044 
913/841-1121 


AutoCAD is a trademark of Autodesk Inc. 

IBM PC/XT/AT are trademarks of the IBM Corp. 
SummaSketch is a trademark of Summagraphics Inc. 
Manager Mouse is a trademark of Torrington Company 













iRMX 


and programs, UDI built-in commands, 
and Intel software tools and other pro¬ 
grams that make UDI system calls. The 
UDI program also can be used on a 
single-shot basis, to run an Intel pro¬ 
gram one time without installing itself 
and remaining resident. 

In addition to the DOS-executable 
version of the UDI, RTCS/UDI includes 
a subroutine library (in IBM DOS linker 
format) that contains the PC-DOS UDI 
(as listed in table 1). Using this library, 
users can construct programs that, like 
Intel’s software tools, can be executed 
in any 8086-family operating environ¬ 
ment supporting the UDI. 

Although similar in structure, RTX 
(iRMX) file systems and DOS file sys¬ 
tems are not compatible. They can, 
however, coexist in separate partitions 
on an XT or AT hard disk. RTCS pro¬ 
vides two file translation programs, 
PC2RTX and RTX2PC, with which files 
can be transferred back and forth 
between the two systems. 

PIECEWISE PROGRAM LOADING 

In conjunction with its multiuser, gen¬ 
eral-purpose capabilities and full-fea¬ 
tured file system, RTX offers more flexi¬ 
bility than most realtime systems do 
with respect to the way executable 
systems are prepared and loaded into 
memory for execution. An entire appli¬ 
cation system does not need to be 
loaded and executed as a monolithic 
unit. In addition to an initial bootstrap 
loader, RTX includes Intel’s Application 
Loader, an iRMX subsystem that pro¬ 
vides a set of system calls that can be 
used to load programs from secondary 
storage into memory under control of 
application tasks. The Application Load¬ 
er can load program overlays as well as 
entire programs from secondary stor¬ 
age, and is capable of dynamically allo¬ 
cating memory and bringing programs 
into an already running system. 

Using Intel’s LINK86 linker and 
LOC86 locator, object routines can be 
prepared in compact, medium, or large 
segmentation models. They can be gen¬ 
erated in absolute, load-time-locatable, 
or, in the case of modules in the com¬ 
pact model, position-independent form. 

The Application Loader offers two 
levels of function for bringing prepared 
executable code into memory. The 
simpler level, which is implemented in 
the A$LOAD system call, reads and lo¬ 
cates code in memory, leaving it up to 
the calling application task to determine 
how and when it is to be executed. The 
more complex level, implemented in 
the A$LOAD$IO$JOB and in the 
S$LOAD$IO$JOB system calls, loads the 


code, creates an I/O job, and starts the 
job’s initial task running. 

The loader can load I/O jobs asyn¬ 
chronously or synchronously. With 
asynchronous loading, the invoking task 
can continue executing in parallel with 
the loader, and must specify a mailbox 
through which it will later receive the 
loader’s report on the operation’s status 
in a loader result segment. Asynchro¬ 
nous operation is not available for load¬ 
ing overlays; a task loads an overlay by 
making the S$OVERLAY system call, and 
must wait synchronously for the com¬ 
pletion of the load. 

REALTIME ADVANTAGES 

By any measure, iRMX is a big operat¬ 
ing system. Its basic documentation 
stands two feet high. It can consume 
200KB of memory in maximum configu¬ 
rations (the standard AT/RTX configura¬ 
tion occupies about 174KB). iRMX is 
also complex—learning its object- 
oriented world view and navigating its 
myriad configuration and operating op¬ 
tions requires close study and careful 
attention to detail. It can impose consid¬ 
erable execution time overhead on 
application tasks. By comparison with 
minimal systems, iRMX is harder to 
learn, harder to fit, and slower to run. 

Its counterbalancing advantages are 
many. iRMX provides an array of func¬ 
tion that is vast in comparison to most 
microcomputer operating systems. Its 
multiuser file management capabilities, 
for example, far outdistance those of 
DOS. Microcomputer implementations 
of UNIX and its derivatives provide sim¬ 
ilar levels of function, but lack iRMX’s 
realtime facility. iRMX’s flexible and 
thorough-going interrupt management 
capabilities, though they impose execu¬ 
tion time overhead, are unmatched for 
function in the system’s market. With its 
job-oriented resource management, 
directory and file access controls, and 
Human Interface services iRMX stands 
alone in the realtime market in its sup¬ 
port for multiuser, time-sharing systems. 

iRMX’s object-oriented architecture, 
though it presents a larger training 
hurdle than that of more traditionally 
crafted operating systems, holds many 
advantages for organizations adopting it 
as an implementation base. It encour¬ 
ages and even enforces an approach to 
system design that embodies some of 
the more significant advances in soft¬ 
ware design methods of the past 
decade. “Information-hiding” interfaces, 
for example, which isolate the imple¬ 
mentation consequences of design deci¬ 
sions within single modules, and a gen¬ 
erally high level of data and functional 


Fortran Support 
for 

IBM PC/XT/AT & Compatibles 


Versions Available For: 

Microsoft, Supersoft, RyanMcFarland, 
IBM Professional, Lahev, & IBM 
Fortran. 

Forlib-Plus 

$69.95 

Supports graphics, interrupt driven com¬ 
munication, program chaining, and file 
handling/ disk support. A Fortran coded 
subroutine is included which will plot data 
on the screen either in linear/linear, log/ 
linear, linear/log, or log/log on the appro¬ 
priate grid. 

Strings & Things 
$69.95 

Supports string maipulations, command 
line usage, DOS call capabilities, SHELL 
generation and data transmission, BATCH 
file control, music generation, PEEKS and 
POKES, PORT access, and general register 
manipulations. 

For-Winds 
$89.95 

Gives the Fortran programmer the capa¬ 
bility of generating up to 255 windows on 
the screen. Each window can be individually 
scrolled, moved, sized, generated, and 
removed. Both color and monochrome type 
displays are supported. Full source code is 
supplied for customization. 

ACS Time Series 
$495.00 

This is a COMPLETE time series analysis 
package which contains VERY HIGH 
SPEED FFTs, Filter generations, convo¬ 
lutions, transfer function calculations, auto 
and cross spectra calculations, Cepstrum, 
curve fitting algorithims, coherence calcu¬ 
lations, and many other associated routines. 
The price includes FULL source code. 

Fortran Scientific 
Subroutine Package 
$295.00 

There are approximately 100 Fortran sub¬ 
routines included which fall under the 
following 12 categories: 

I) Matrix storage and Operations 2) 
Correlation and Regression, 3) Design 
Analysis (ANOVA), 4) Descriminant Anal¬ 
ysis, 5) Factor Analysis, 6) Eigen Analysis, 7) 
Time Series, 8) Nonparametric Statistics, 9) 
Distribution Functions, 10) Linear Analysis, 

II) Polynomial Solutions, 12) Data 
Screening. Full source code is included. 


ALPHA 


Alpha Computer Service 
P.O. Box 2517 
Cypress, California 90630 
(714) 894-6808 

California Residents 

Include 6% Sales Tax There are NO license fees 


JUNE 1986 


CIRCLE NO. 101 ON READER SERVICE CARD 













iRMX 


abstraction are natural by-products of 
iRMX-based design. 

Organizations adopting iRMX also 
will find engineers engaging in more 
thorough consideration of exceptional 
conditions—how and when they arise 
and how to handle them when they do. 
iRMX’s exception-handling approach 
makes the design issues of error han¬ 
dling much less likely to be overlooked 
or treated as an afterthought. 

Much of the operating system’s 
complexity stems from the considerable 
work Intel’s developers did to achieve 
two valuable goals: a high level of 
configurability and a powerful set of 
approaches to classic realtime design 
problems. Their efforts were successful 
in both respects. The sheer quantity of 
design attention in providing ways to 
deal with common realtime dilemmas is 
evident throughout the system. In inter¬ 
task synchronization, for example, iRMX 
support goes well beyond the adequate 
functions provided by semaphores by 
offering the carefully designed region 
mechanism as well. 

In addition to the benefits of 
iRMX’s sound and comprehensive de¬ 
sign, a number of practical benefits ac¬ 
crue to RTX users and resellers. iRMX’s 
longevity, coupled with Intel’s commit¬ 
ment to supporting the 8086 family, has 


made it a stable, mature product. The 
product works, it is in widespread use 
in the industry, and it carries the Intel 
name and reputation for quality. Its per¬ 
ceived reliability, a quality as important 
to marketeers as its actual reliability, is 
high. Like the PC and PC-DOS, iRMX’s 
open, extensible architecture and wide¬ 
spread distribution has led to strong 
third-party support—many device man¬ 
ufacturers in the industrial instrumenta¬ 
tion and control market offer iRMX 
drivers with their products. 

FAVORABLE PRICING 

In creating the PC/RTX and AT/RTX 
products, RTCS has made iRMX much 
more accessible, in both the technical 
and the business sense. Its packaging of 
a preconfigured version for the PC has 
eliminated a substantial technical bar¬ 
rier by greatly reducing the amount of 
work required for a reseller to bring 
iRMX up in support of a PC-based 
application. RTCS’s more favorable 
low-quantity pricing removes practical 
barriers some resellers would encount¬ 
er in Intel’s pricing structure. 

PC/RTX in standard configuration 
(quantity one) is $995. Usable as a run¬ 
time environment, development envi¬ 
ronment, or both, PC/RTX requires a PC 
or PC/XT with 256KB of memory, two 


360KB floppy-disk drives—although 
512KB and a hard disk are recom¬ 
mended—and a standard monochrome 
or color display. Included with PC/RTX 
is Intel’s 8086 Family Utilities package, 
with ASM86, LINK86, and LOC86; RTCS’s 
PC2RTX and RTX2PC hie translation util¬ 
ities; and an assortment of other Intel 
utilities. RTCS also offers discounts, 
from 5 percent for quantities of 5 to as 
much as 40 percent for quantities of 50. 
AT/RTX is priced at $1,495, and requires 
512KB of memory and a hard disk. 

Users purchasing the basic PC/RTX 
or AT/RTX product must develop appli¬ 
cations under RTX unless they also pur¬ 
chase RTCS/UDI for an additional $500. 
RTCS/UDI permits single-user, PC-DOS- 
based development. For either develop¬ 
ment environment, Intel’s Pascal, FOR¬ 
TRAN, and PL/M compilers are available 
through RTCS for $1,295 each; the (In¬ 
tel/Mark Williams) C compiler is $2,795. 

Users who must change iRMX con¬ 
figuration parameters or add and re¬ 
move device drivers must purchase PC/ 
RTX-C or AT/RTX-C. These are fully con¬ 
figurable versions of iRMX that contain 
the RTCS-prepared device driver librar¬ 
ies and configuration source hies re¬ 
quired to perform a full iRMX system 
generation. Priced at $2,000 for the PC 
version and $2,795 for the AT version, 
these packages require the purchaser to 
acquire an iRMX license directly from 
Intel. Intel’s price for a basic license is 
$6,000. Resellers of systems built with 
conhgurable versions of RTX must pay 
Intel royalties as well as RTCS’s per- 
copy charges; Intel’s royalty charge for a 
single-copy sale is $300. 

All RTCS products come with 90- 
day support entitling the purchaser to 
telephone technical assistance and auto¬ 
matic product updates during the per¬ 
iod. The support period can be ex¬ 
tended for a year at a cost of $160 for 
PC/RTX and $210 for AT/RTX. All RTCS 
users can use RTCS’s dial-up bulletin 
board service, which RTCS uses to dis¬ 
tribute product support information. 

The bulletin board supports uploading 
and downloading, in addition to a tele¬ 
conferencing forum, in which users can 
locate each other and exchange soft¬ 
ware and information. 

PC/RTX: $995; AT/RTX: $1,495 
Real-Time Computer Science Corp. 

1390 Flynn Road, Unit E 
Camarillo, CA 93010 
805/987-9781 

CIRCLE 339 ON READER SERVICE CARD 


Richard M. Foard is a software consultant 
who specializes in realtime systems design. 


CCOMPILERSiof680X0 


► Produce highly optimized code for MC68000/010 and MC68020/68881 

► Complete development environment: Assembler, Linking and 
Downline Loaders, Runtime Libraries 

► Available for Motorola, DEC, and IBM PC host computers 



CALL ALCY0N AND ORDER NOW! Warranty, Documentation, Maintenance, 
and Telephone Support included. 


CORPORATION 


5010 Shoreham Place • San Diego, CA 92122 • (619) 587-1155 

UNIX is a trademark of AT&T • DEC, VAX, VMS are trademarks of Digital Equipment Corporation • VERSAdos is a 
trademark of Motorola • IBM PC is a trademark of International Business Machines 


150 


CIRCLE NO. 106 ON READER SERVICE CARD 


PC TECH JOURNAL 

















PC BRAND: CAREFULLY CHOSEN 
PROGRAMMER TOOLS 


BRIE Is Anything But. 
A Whopper of an Editor 

W ith a name that belies its thorough¬ 
ness, Brief™ has every feature 
you’ve ever contemplated for your editor- 
in-chief. Text, from keyboard or files, is 
housed in multiple buffers, and scrolled 
through one or more windows you open, 
close, resize. A text buffer may be called to 
different windows to view two areas at 
once. A change in one changes both. Text 
blocks may be marked for printing, writing 
to files, movement to scrap buffers for cut 
and paste into other buffers, or deletion, 
with as many "undo” levels as you want. 

To find and fix, Brief has text search 
abilities rivaling “grep", with wildcards for 
matching, indifference to intervening 
characters, acceptance of character 
ranges, even multiple choice of patterns 
and their replacements. 

If you use Lattice, C86™, or Wizard, and 
have 320k, you can compile your C 
program without ever leaving Brief. It finds 
the lines with errors, and marches you 
through the text for repairs. 

Parts of Bnef were written with its own 
Lisp-like macro language which has 
structure, 32-character variable names, 
conditional execution, loops, and you can 
actually read it! Nothing like the 
hieroglyphs we’ve seen elsewhere. Bulletin 
board and public domain disks with 
macros. Disk of contest-winning macros 
comes free with your purchase! "Simply 
the best text editor you can buy", Dvorak 
Infoworld. (Needs 192k.) 

Ask for: List: PC Brand: 

U0590 * *195 *CALL 

MULTI-HA! Multi-Board 
Graphics Library 

The premier graphics library that got the 
ball rolling for PC-based graphics and has 
grown so omnipotent that it supports over 
25 graphics boards — including IBM’s 
EGA and Nr. 9 Revolution’s hi-res series — 
and has a multitude of mouse and printer 
drivers. All that in each box. Separate C 
versions for Lattice, M’soft, Aztez, CI86. 

What does Multi-Halo do? Just about 
anything. A full "paint” was written using it. 
Wonderful value for single license. Costly 
royalties though for redistribution. Specify: 
S0315 & Language. List: * 250 . We: * 199 . 


WINDOWS for C/WINDOWS for DATA 

Give Your Program a Clearer Outlook 

W indows for C™is a library of over 65 

•f. 


functions to add the pizazz and prac¬ 
ticality of window partitioning to your 
application. Unlimited windows, each 
defined in a C structure for easy reference 
throughout your program, can be made 
either to pop up or permanently overwrite 
the screen. Routines will scroll and 
highlight lists with arrow keys, will read 
and scroll ASCII files vertically and 
horizontally in windows, and even write to 
memory-loaded files off the screen. 

Logical treatment of video attributes 
permits unchanged programs to run on 
color or monochrome. Colors of windows 
are set individually. 

All functions are in separate modules; 
only those used are linked. Only buffers 
holding on-screen or temporarily 
obscured windows occupy RAM; others 
released dynamically. TDpView™ 
compatible. Best overall rating and fastest 
display in Bill Hunt’s 7/85 Tech Journal 
review of five windowing products. 

Windows for Data comprises all of 
Windows for C but takes in data through 
the windows as well. At the high level a 
single function lets you specify prompt 
string, field length, data type, screen 
location, picture, target variable, then sets 
lesser functions scurrying to get and 
process a user’s input — any of which 
functions are available directly. There are 
utilities to get system date and time, mess 
with strings, create your own field masks. 

Field options can require entry, prevent 
entry, permit insert or overtype, beeping 
on invalid or overflow keystrokes, and 
attachment of field-specific help messages 
and functions you want called to display 


messages or validate entries. And you 
decide which keys will clear a field, jump 
to the next or prior, quit, etc. Options 
diverse enough that a set of "fields” can be 
made to behave like a Lotus™ menu. 

Many compilers. Free demo. 

Specify Compiler: List: PC Brand: 

T0100 Windows for C *195 *169 

T0150 Windows for Data *295 *259 


jgglSSSs 

SSsfl 

sSgsis 

gsASSSSiasr 


C-WORTHY LIBRARY pipe this one aboard! 

Fits Out Applications with Shipshape Interface 

M 


any libraries launch flotillas of func¬ 
tions for small crafting — re-working 
of strings, positioning the cursor, etc. C- 
Worthy, by contrast, is a formidable battle 
wagon for major C engagements. 

The C-Worthy Library™ wraps an entire 
user interface around your application. Its 
full power can be summoned by only a few 
high level calls. Sound exaggerated? A 
single function call can set up a complete 
text editor in a screen window. 

• High level calls pop menus and scroll¬ 
able choice lists to the screen, restoring 
the background when dismissed, and 
branching to the chosen activity in your ap¬ 
plication. A full function set handles 
doubly-linked lists defined by C structures. 

• Windowing facilities open portholes of 
up to screen size for viewing virtual 
screens larger than the physical screen. 

• Full context-sensitive help screen man¬ 
agement takes over this chore. Keyboard 
entry routines look for the help key on their 
own and interrupt with pageable text win- 


C-TREE 

B-Tree File Manager, Source Code, No Royalties! 


C -tree™ has been around since 1979. 

(It became Digital Research’s Access 
Manager™). That means seasoned, sturdy 
code which hasn’t cracked under the 
weight of prolonged and widespread use. 
C-tree comes in C source code, revealing 
all you’ve ever wanted to know about how 
b-trees are written. Provided you bind it 
into your binary application, you can re¬ 


dBC 

Lattice Library Maintains dBASE Compatible 
Files With the Power and Speed of C 


d BC™ links C to dBASE. It creates and 
maintains files and their indexes which 
exactly replicate dBASE file design. So 
dBASE can read and update them. And 
the reverse. dBC can use any files created 
by dBASE. Now C and dBASE can operate 
on the same data bases interchangeably. 

That opens up the widespread culture of 
dBASE installations to exploitation by C 
programmers. You can tap that market, 
avoid the resident dBASE language, and 
gam all the advantages of C with this single 
product. 

dBC’s functions parallel all dBASE’s file 
handling commands, many decomposed 
to give closer control. The manual 


discusses each backed by demo source 
files on disk. 

Use dBC for custom work for clients, or 
on its own. It’s a complete ISAM file 
manager for C whether or not dBASE will 
be used m tandem, supports all four 
memory models, and can have sixteen 
mdex and data files open. Big discount to 
buyers of both dBASE II and III versions. 
Specify Lattice, Microsoft 3.x, or DeSmet. 


Versions: 

L00II For dBASE II 
LCCII With Source 
LOIII For dBASE III 
LCIII With Source 


List: 

*250 

*500 

*250 

*500 


PC Brand: 

*195 

*390 

*195 

*390 


distribute C-tree without royalties. 

C-tree’s design splits nodes to allow any 
number of users to access an index file 
simultaneously even when updates are in 
progress. So multi-user configurations and 
adaptation to networks are possible. You 
must write record-locking routines, as they 
are compiler and operating system 
dependent, but shows how. 

Thanks to source code which does not 
deviate from the K&R standard, C-tree can 
travel. Tests in many environments prove 
that C-tree gives your application a ticket 
to anywhere. 

C-tree permits any number of keys for a 
data file, supports duplicate keys, variable 
record length files, multiple key indexes in 
a single file, etc., etc — it’s a comprehen¬ 
sive product with everything you'd expect. 
Intelligently designed, too. Both high level 
ISAM routines which minimize coding by 
handling all details of an activity; as 
well as decomposed step-by-step functions 
you can access directly. Either way C-tree 
maintains optimal index structures which 
will find the record you seek amongst a 
million ten-byte keys in no more than five 
disk seeks. 

Ask for: List: PC Brand: 

F0660 *395 *329 


dows explaining what to do next. 

• Full error message interface sends error 
codes and the functions which return them 
to C-Worthy which counsels user; you get 
to remove all that error-checking clutter 
from your core program. 

Your application is nested in these 
powerful emissaries to the outside world. 
C-Worthy’s imaginative architecture then 
makes heavy use of C’s pointers to func¬ 
tions to find its way into your application to 
act upon the user's request. 

Separate utilities maintain help and error 
message text and lists in files. This text 
segregation means applications can readi¬ 
ly translate into foreign languages without 
reprogramming — doubly so because C- 
Worthy display routines automatically 
resize for text length. 

Where the high level interface does not 
suit you, the low level routines are available 
as decomposed functions. All machine de¬ 
pendency such as key mapping is housed 
in interchangeable overlays loaded along¬ 
side the application at run-time; C-Worthy 
applications can thus run on a mix of PC 
and MS-DOS machines without 
recompilation. 

C-Worthy hands you a consistent and in¬ 
tuitive interface and a revolutionary design 
approach. Novell found it "played a key 
role and accelerated development” in 
making its NetWare™ utilities easier for 
users. “You owe it to yourselves to take a 
look.” Binary. Lattice. Others coming. In¬ 
genious demo: call for it. 

Ask for: List: PC Brand: 

T0500 *295 *269 

T0550 Novell Network *495 *449 


CURSES Unix Style 

Screen Management 

Curses from Lattice™ manages the screen 
of the PC like Unix™ curses. Library of 84 
functions and macros parallels Unix with 
matching parameter lists. So your Unix 
program will feel at home when you move 
it to the PC, and programs created on the 
PC will be Unix compatible. Keeps any 
number of screen images in memory, full 
or partial size. Supports color, all four 
memory models. Vast function set to get 
characters, wrap lines, scroll, blank lines, 
highlight, etc. Carefully follows Unix curses 
terminal orientation by re-painting physical 
screen only on your refresh command. 

Ask for: L0850. List: *125. Here: * 99 . With 
Source: L0860, *250 / $ 199 . 


, cU , We stock ever 

cm ge, t, ns ^ cany 

lM Wrn^ um more pro- 
_ or can ga 
ducts. Just ask. 


For Orders, Literature, or Catalogs, Call Us at... 

800 PC -BRAND 

That's (800) 722-7263. In NY State call (212) 242-3600 
PC Brand, 150 5th Ave., New York, N.Y. 10011-4311 
Telex: 667962 (SOFT COMM NYK) 


<c 1986 PC BRAND 

Prices, terms, and specifications subject to change without notice. 

CIRCLE NO. 171 ON READER SERVICE CARD 
















TODAY’S TOP QUALITY AIDS TO 
PROGRAMMING PRODUCTIVITY 


DAN BRICKLIN’S DEMO PROGRAM 

Slide Show Your Latest Greatest Idea dispensable '- 


PRE-C 

Thorough “Lint”-like 
Analysis Now on the PC 

U nix users have always had "lint” to 
thoroughly clean programs before 
they disappear into a compiler. 

Pre-C™ looms larger than "lint”. It finds 
problems your compiler won’t. Problems 
that a debugger will have trouble figuring 
out. Even problems which will cause 
trouble with other compilers. 

Pre-C finds all the syntactical tripwires 
that will blow out a compiler and much 
subtler problems: code which will never 
be accessed, casts with suspect 
conversions, variables declared as 
external but never used, functions never 
called, machine-dependent expressions 
which inhibit portability, obsolete usage. 

But the big service of "lint” is this: 
Compilers work with one module at a time. 
They know nothing of other modules which 
only meet up at link time. Pre-C looks at all 
segments of your program at once and 
reports to you any inconsistencies of inter¬ 
module references like conflicting data 
type declarations; parameter lists in calls 
which disagree with the functions 
themselves in number or data type. 

Pre-C uses the Unix System III compiler 
standard to guarantee maximum port¬ 
ability anywhere in the C world. Plentiful 
command line options relax such rigor dur¬ 
ing early coding when work is incomplete. 

Use purchased binary libraries? Profile 
them for Pre-C and it will thereafter insure 
that function calls from any C program are 
letter perfect. A miracle worker in speed¬ 
ing large system development. Needs 128k 
minimum; 192k recommended. 

Ask for: List: PC Brand: 

P0590 *395 *295 


Maximize Memory Use 

P link86™ long the overlord of overlay 
linkers, now has a Plus version. As a 
linker Plink can be used with any com¬ 
piled language which delivers Microsoft/ 
Intel format object files. It yields automatic 
symbol tables and more memory maps 
than DOS LINK, but its overlay power has 
won its reputation as a miracle worker. 
Plink86 shoe-homs large programs into 
small memory by binding into your com¬ 
piled program an overlay manager which 
knows how to swap modules of large 
linked programs between disk and shared 
memory space. Plink86’s straightforward 
overlay description language allows you to 
describe your overlay hierarchy in a 
structure permitting up to 4.095 overlays 
stacked 32 deep. 

So if your program needs large chunks 
of memory, you no longer forego sales to 
folks who have less. But if you’ve assumed 
128k, and they have 640k, Plmk86-Plus™ 
knows to use extra memory as cache for 
overlays — at full speed compared to disk 
swapping. It also can automatically restore 
a displaced overlay to which a subse¬ 
quently called overlay must return, and 
assign library modules to either a 
program’s root segment or overlay areas. 

Plink, the programmer’s choice even 
when CP/M™ was the poobah of 

List PC 

Code: Product: Price: Brand: 

S0500 Plink86 *395 *289 

S0499 Plink86 Plus *495 *359 


W hen the inventor of the electronic 
spreadsheet called with a new pro¬ 
gram, we sat straight up in our chair. 
VisiCalc™ was for businessmen, but Dan’s 
latest is for us programmers. 

Ever had trouble putting a program idea 
into words? Programs are screens! Words 
don't work. The answer? Show your 
program as a procession of screens. 

Dan’s new program makes it easy. It 
creates slide shows that imitate a 
program’s screens and sequential activity. 
Create a screen — a snapshot of your 
planned product as it runs. Anything goes: 
words, borders, box rules, inverse and 
underlining of monochrome, foreground 
and background color on the CGA and 
EGA. Press a key and make a copy of this 
"slide", change it a little, by a single 
character perhaps, to show the next instant 
of run-time, then copy the slide forward 
again. Create a whole slide show of your 
program in action. It will seem like the 
program itself is running. 

Each screen is in 80x25 character mode, 
not bit-mapped graphics. All 250 charac¬ 
ters and attributes are available from 
scrollable lists which pop to the screen. All 
commands are layered in Lotus-style pop¬ 
up menus, with frequent choices mapped 
to the function keys as well. 

Screen areas can be blocked for cut and 
paste or filled with color or characters, 
even made to blink. Slides of oft-appearing 
segments can be made for overlaying on 
other slides, and any slide may have 
several overlays assigned to it. Slides can 
be shuffled, deleted... many quick tools to 
save time, disk space. 

Slides can proceed at time intervals or in 
response to keystrokes, and depending on 
a user’s response, you can tell the program 


read after write option to verify accuracy, 
useful in gritty environments like manufac¬ 
turing floors; file password to deny unau¬ 
thorized access or read only; and data 
encryption to assure network privacy. 

Btrieve's foundation is a balanced-tree 
indexing scheme, conceded to be the fast¬ 
est search technique devised (it will find 
any key in a million-plus item index in four 
or less accesses). Btrieve takes complete 
charge of all file creation, indexing, read¬ 
ing, writing, insertion, deletion, space 
recapture, and forward and backward 
searching based on full or partial keys. It 
builds commands right into the language 
you use in the form of functions you call to 
tell Btrieve what to do. 

Btrieve has mainframe specifications! A 
single file may have up to 24 indexes. Seg¬ 
ments of keys may be indexed. Each 
index can independently accept or block 
duplicate keys. Fixed record lengths can 
be up to 4090 characters; variable length 
records 64k; indexes 255 characters; files 
up to 4 billion bytes. It can even extend a 
file across two drives—even two hard 
disks! 

Interfaces to C, Pascal, BASIC, and 
COBOL with single purchase; sample pro¬ 
grams in all four languages. 

The network version works with any net¬ 
work that supports the MS-DOS 3.1 file 
sharing function. 

List PC 

Code: Version: Price: Brand: 

S0650 *245 *199 

S0652 Network *595 *529 


to branch anywhere in the slide sequence 
to create innumerable paths through your 
show. 

Don’t make your ideas struggle through 
coding to get to he screen. Dan’s Demo is 
invaluable to prototype the program you 
are about to write, to position all the labels, 
choose the color decor, smooth out the 
keystroke interface before it gets etched in 
code. Or load the ’’capture” utility above 
the operating system, snapshot the screens 
of any running program, and load an 
instant slide show into Dan’s program. 
Makes tutorials a snap 

Dan’s Demo has blossomed throughout 
Lotus™, we hear. "Lotus [was] my major 
test site”, says Bricklin. 

Each purchase entitles you to redis¬ 
tribute fifty copies of the slide projector 
program along with your show. Plain 
manual, no binder, to keep the price low 
because Dan thinks everyone should have 
one (he’s right!). You’ll wish he had Demo 
then and left VisiCalc for now. (Needs 
256k). 

Ask for: List: PC Brand: 

N0100 *75 *69 


GREENLEAF 

LIBRARIES 

FUNCTIONS 

New 3.0 has 225 functions in both C and 
assembler source as well as library format. 
We have versiors for Lattice, Microsoft, 

C86, Mark Wms. New emphasis on tighter 
functional groupings to minimize excess 
baggage of functions loaded whether used 
or not. Manual's 250 pages now help select 
functions, as do demos and bulletin board. 
32 DOS extensions: file and directory 
manipulation for 2.0 and 1.1. 23 Screen 
Functions: Select mode, page, mono¬ 
chrome or color, palette; cursor shape, 
positioning; clearing and scrolling; pixel 
get and put; read light pen. 60 String 
Functions: Manipulation of strings, 
including center and justify; efficient list 
operations whicn add, delete, and sort 
pointers to strings for top speed. 50 
Graphic & Printing Functions: Primitives to 
access all grapliics; typeface, formatting, 
and forms control. Plus keyboard status 
and function key assignment, time and 
date algorithms, read registers, memory 
size, peek and poke. 

Ask for: list: PC Brand: 

S0770 *185 *139 

COMMUNICATIONS 

Want your application to communicate 
with other users or remote date bases? 
Now you can build asynchronous 
communications right into your C 
programs! Ovei 60 functions and demo 
programs in both C and assembler source 
code set up an interrupt driven scheme 
with separate transmit and receive ring 
buffers (characters are simultaneously 
loaded at one end and transmitted from 
the other, or vice versa) for an arbitrary 
number of ports;. Interrupt control means 
you can download a record, then halt the 
incoming stream to file it, display it, let the 
user tamper with it, send it back up line. It 
all happens witlirn the context of your pro¬ 
gram. Goodbye separate communications 
software. 

The Greenlecif Comm Library supports 
ASCII or binary, any parity, any word 
length, 8250 UARTs, all four Lattice C 
memory models, Hayes 300,1200,1200B and 
other modems. 

Its 80-page manual has examples of each 
function and guides you through 
asynchronous communications. 

Ask for: List: PC Brand: 

S0750 *185 *139 


BASTOC opr^zes'. 

Translates BASIC 
Programs Into C 

F or a trifling price, BASTOC™ will 
move truckloads of BASIC code over 
to C. It is a translator which takes in Micro¬ 
soft Extended or CBASIC and emits pure 
Kernighan & Ritchie C for the Lattice com¬ 
piler. It will optionally convert your pro¬ 
gram into a single monolithic C function or 
will decompose it into separate functions, 
one for each GOSUB label. 

Version 2.0 adds optimization, with dra¬ 
matic reductions in execution time. It con¬ 
verts to C integers those numeric 
variables it finds in BASIC programs 
which really do not need floating point. It 
eliminates unreachable code. Where 
BASIC uses full assignment statements to 
increment and decrement counter, BAS¬ 
TOC converts to C’s compact form, nested 
in other statements. Strings are dynami¬ 
cally allocated in the target program, rid¬ 
ding your application of BASIC’s catatonic 
halts for garbage collection. 

BASTOC will try to create structure of 
even the most convoluted BASIC code, 
and writes any indigestible statement into 
the C output as a comment accompanied 
by an explanation of the problem. Also, 
you can optionally tell BASTOC to insert 
BASIC source lines into the C target as 
comments, a dandy way to learn the dif¬ 
ferences between the lanauaaes. 

Specify: List: PC Brand: 

S0375 & Which BASIC *495 *399 


PANEL 

Feature-Laden 
Screen Design Tool 

T he newest version of this premier pro¬ 
gramming tool lets you layer your 
screen designs with up to ten overlapping 
images, making it easy to background a 
screen with pop-up lists, help boxes, and 
alternate sets of input fields. 

Writing your own screenware is a good 
way to blow completion dates and profits. 
Panel™ works with you interactively to set 
up foolproof screen displays and data en¬ 
try forms rapidly. It tests your form to prove 
that it (and test data) behave correctly, then 
converts the finished work into C source 
code for incorporation into your applica¬ 
tion. Compile with Lattice or Microsoft. 

Wonderfully diverse attributes may be 
selected for any field — size, data type, 
color, of course, but also conversion of 
input to upper case; clearance of existing 
data when new entry is started; masks for 
standard formats (eg, dates, phone num¬ 
bers); a choice of styles for numeric fields; 
phrases which fill in when their first letter 
is typed; multiple-choice lists from which to 
choose a field fill-in by cursoring a high¬ 
lighted bar. Fields may be multi-lined (eg, 
name and address as one field) and 
scrolled if larger than the screen space 
allotted them. 

Panel builds in a user interface for 
keystroke movement within and between 
fields, and supplies extensive validation 
routines for checking user field entries — 
in source code, so you can tack on your 
own unique variants. Screen designs may 
be dynamically loaded from file, or com¬ 
piled into a program, and version 6 has 
optimized code to quicken display speed. 

The whole package is wrapped in a 
monitor and keyboard customization 
package to tailor your application for other 
equipment. Panel. A superior productivity 
tool now bigger than ever. 

Ask for: List: PC Brand: 

S0400 *295 $ 229 


BTRIEVE VERSION 4.0! 

Queen-B File Manager Abdicates Royalties 


I his queen of b-tree file managers was 
a unapproachable to programmers for 
whom royalties would ruin profit margins. 

PLINK86 & PLUS 

Dynamic Cache Overlays 


So it's quite a ukase indeed that one need 
no longer pay a tithe to incorporate 
Btrieve™ in applications. 

Now there is version 4.0, which hugely 
speeds DOS interaction, especially for 
large files with multiple keys. It also adds 
support for variable length records of vir¬ 
tually any length. Other new features: a 















PRICED TO SAVE YOU MONEY, wa. 
SHIPPED FAST ANYWHERE. 


RUN/C PROFESSIONAL VERSION 

Interpreter Now Accesses Binary Libraries 


LATTICE C VERSION 3.0 

Major Upgrades to the Best Selling C Compiler 


R UN/C was an innovator for convert¬ 
ing inaccessible compiled C to an 
interpreted language as easy to grab 
hold of as BASIC. Great for learning, 
but a problem remained for pros An 
interpreter expects nothing but source 
code, and that put the vast resource of 
professional binary libraries off limits. 

No longer: RUN/C Professional™ has 
the tools dynamically to load and unload 
multiple binary function libraries while 
in its interpreter. Your code can now 
reach for functions in the commercial C 
libraries like C-Food Smorgasbord™ - 
opposite— potentially any library com¬ 
piled with Lattice’s large model. How? 
The manual shows how to develop the 
interface to a library, using the Lattice 
compiler (a must!). How about your own 
archive of functions? No reason why not. 

The RUN/C Interpreter 

The interpreting engine lies at the 
heart of both the improved original 
RUN/C and the new Professional 
version. Its creators had the inspiration 
to make once formidable C behave on 
screen much like PC BASIC with a full¬ 
screen editor like WordStar® . Just 
create a program and RUN it. If it 
stumbles, LIST it, EDIT it, add lines, 
delete lines, RUN it again, fix it again. 
Use familiar commands like LOAD, 
MERGE, SAVE, FILES, even TRON and 
TRACE, and a free profiler. 

RUN/C is ideal for rapid program 
development. Put up code at high 
speed, tinker and re-arrange, try out 
things devil-may-care, and let RUN/C 
find your typos and malaprops. 

RUN/C has a treasury of functions 
built into the interpreter — over 100 
paralleling the most used functions 
found in standard compiler libraries. So 
when and if the time comes to compile, 
your source code will find counterparts. 

There are lots more features — system 
interrupts, a shell command to invoke 
any operating system command without 
leaving RUN/C, even the ability to load 
a preferred editor in parallel and switch 
back and forth. 

RUN/C Standard Version 

Straight RUN/C has all above but the 
Loadable Libraries™ docking module. 
It utilizes source code only, whether 
created by its own editor, or from any 
ASCII file, such as programs you've 
already written, or commercial libraries 
which supply source code. 

It makes a splendid teacher. The 
manual has not just instructions how to 
use RUN/C, but its 500-plus pages 
provide a thorough-going demonstra¬ 
tion of the C language itself. Every 
feature, of C or RUN/C, is accorded its 


own micro-chapter. Over 100 of these 
chapters are devoted to RUN/C’s built- 
in functions, and every one lists a sample 
program showing how it is used. The 
programs are also on the disks. So as 
you read them in the manual, you can 
run them on the screen. (Needs 
180k-256k recommended.) 

RUN/C Professional 

RUN/C Pro has every feature of 
RUN/C regular plus the binary library 
link-up and an extra level of debugging 
aids. They are ingeniously installed 
behind a built-in function, so you can call 
for debugging conditionally. The called 
function paints a menu of debugging 
tools to choose from, including immedi¬ 
ate mode to display variables, single- 
step tracing, and changing of variables. 

RUN/C Professional can tackle 
projects of any size. Use it as a creative 
front end to feed a continuous stream of 
source code into compiled modules. 

Only the source work in progress is still 
interpreted; the finished modules will 
whiz by at object speeds. It will change 
how you work. (320k minimum and 512k 
recommended to fit libraries.) 

RUN/C: quite a run for your money. 

List PC 

Ask for: Price: Brand: 

S0910 RUN/C Classic *120 *109 

S0950 RUN/C Pro *250 *185 


L attice has labored and come forth 
with the long-awaited Version 3.0 of its 
top-rated compiler. A long list of enhance¬ 
ments, adoption of the ANSI draft stan¬ 
dard, documentation rivaled by few, and 
add-on libraries matched by none in 
sheer quantity restore Lattice C™ to its 
leadership role as the C compiler to beat. 

Lattice now embraces key UNIX™ 
enhancements which have entered the 
language since Kemighan & Ritchie: void 
functions returning no value, enumerated 
data types to assign stepped values to var¬ 
iables, the ability to pass data between 
structures by assignment statements. And 
3.0 adopts checking of external function 
arguments by data type as proposed by 
ANSI to kill bug swarms when modules 
join up at link time. 

The greatly expanded libraries, now 
comprising 325 functions(!), enable the file 
sharing and record locking provisions of 
DOS 3.1, provide a full complement of 
transcendentals, and a host of utilities to 
mimic the UNIX and XENIX™ environ¬ 
ments. 

Lattice now delivers smaller .EXE files, 
curing one past complaint, boasts very 
fast link times and a more efficient aliasing 
algorithm, 

The compiler now defaults to the ANSI 
proposed standard when you need a strict 
mistress, but command line options toler¬ 
ate straying. New options generate code 
to use 80186 and 80286 features, and the 


OUTSIDE US.? 

The dollar is weaker. In your currency, our 
prices are lower than ever. PC BRAND ships 
anywhere. We’ll prepare the export documents 
and ship to you or your agent by air freight, 
courier, or air parcel post. Pay by credit card or 
wire funds (see “Terms” below). 


The GSS GRAPHICS SYSTEM 

Leave the Driving to GSS 

G SS™ has reconfigured two compo¬ 
nents of its comprehensive graphics 
tools to conform with the more advanced 
ANSI Computer Graphics Interface (CGI) 
standard. 

At the heart of the system is now the 
Development Toolkit which contains all 
language interfaces and device drivers 
for keyboards, mice, joysticks, tablets, 
printers, plotters, cameras, and more. 

Drivers now house all management of vec¬ 
tor graphics (plotters) and bitmaps used 
by raster input devices (scanners) to insu¬ 
late completely the application program 
from concern for device idiosyncracy. No 
one else has implemented CGI that way. It 
means programming remains generic; 
just switch drivers and the same program 
will drive a different device, including 
intelligent controllers which do not want 
micro instructions. 

GSS Kernel™ conforms to level 2b of 
ANSI’s Graphical Kernel System (GKS) 
and contains all its needed drivers and 
language bindings. Kernel has macro 
level tools to draw and color an object, 
store the sequential instructions, and 
recreate the object on its own, as well as 
segment it, transform it, etc., all the while 
returning data on attribute settings, sys¬ 
tem and device status. So powerful, a sin¬ 
gle command may represent several 
score lower level statements. 

Plotting has the equivalent GKS tools for 
graph and chart generation and their cap- 


ANSI CGI STANDARD 


tioning: hand it apples and oranges, say 
"pie", and it bakes the numbers into a 
digestible display for screen or plotters. 

Kernel and Plotting have tools to convert 
images they create to ANSI Computer 
Graphics Metafiles (CGMs), a tokenized 
standard for storing every form of graphic 
image as data. The Metafile Interpreter 
reads the contents of a CGM and inter¬ 
prets it with full CGI capability for re-crea¬ 
tion on various devices, and you can cut 
and paste before display. 

Quality software? IBM thinks so. They 
sell the GSS series under their own label. 

Unit royalties and annual fees have 
been instituted for redistribution. Call for 
schedule. Needs 256k. 

List PC 

Ask for: Price: Brand: 

GS010 CGI Dvlpmt Toolkit *395 *339 
GS020 Kernel System *495 *419 

GS030 Plotting System *295 *249 
GS040 Metafile Interpreter *250 *209 


8087 is of course sensed and utilized if 
aboard. 

Lattice has enjoyed pre-eminence so 
long that developers have created far 
more tools to marry into Lattice C than any 
other compiler. Programmers now have 
an enormous resource of libraries and util¬ 
ities to use with Lattice to speed their 
work. William Hunt, in his exhaustive anal¬ 
ysis of 12 compilers in the 1/86 issue of the 
PC Tech Journal awards Lattice the only 
"very good" rating for add-on library 
availability. He sums up with this all- 
around accolade: "a fine product to con¬ 
sider for the production of important appli¬ 
cations.” 

Ask for: List: PC Brand: 

S0100 $500 $GALL 

BETTER BASIC 

New Version Compatible 
with Microsoft BASICs 

T his hearty implementation provides a 
real alternative to technical languages 
like C. It melds the most useful features of 
C, Pascal, and Modula 2 into BASIC, while 
retaining the familiarity of a language 
already known to millions. And now Ver¬ 
sion 2.0 is 100% compatible with Micro¬ 
soft’s GW™ BASIC and IBM BASICA 
including graphics, sound, and assembly 
language calls. Just load old programs 
and run. Save and they are converted to 
BetterBASIC. 

It’s big: BetterBASIC’s hugely expanded 
features require 192k; your programs can 
go all the way to the PC’s full 640k. It's 
comfy: Behaves like Microsoft BASIC at 
the interactive level, with a full-screen edi¬ 
tor, direct statement execution, and always 
poised to RUN. It’s fast: BB is an incremen¬ 
tal compiler—unlike with interpreters 
each statement is checked and compiled 
just once. The Sieve benchmark runs six 
times faster than with Microsoft. 

BetterBASIC® has C-like structures for 
reference to entire records so say good¬ 
bye to FIELD, MKI$, CVD, LSET, etc. It has 
"procedures" summoned by name unlike 
GOSUBs. Lots more features: built-in 
linker for compiled modules; trace; 
debugging breakpoints; cross-reference 
command; 32k strings; DOS and BIOS 
calls and interrupts; recursion. 

List PC 

Ask for: Price: Brand: 

S1200 BetterBASIC *195 *169 

S1201 Run-time Module *250 *239 
S1202 8087 Interface * 99 * 89 
S1205 Btrieve Interface * 99 * 89 


Need terms? On-the-spot credit to 
most public companies, governmen , 

educational, TTfew thousand words 

Tawr y ou gotta admit, we go to great 

lengths tolnow programmer tools. 


TERMS AND CONDITIONS OF SALE 


Licenses: Each price is for a license to use a prod¬ 
uct on a single computer and does not constitute 
its ownership. We will inquire for you about site 
licenses. Except as otherwise indicated or where 
follows the Product Code, products may be 
used to create programs for distribution without 
royalty payments or additional licenses, provided 
said programs do not substantially replicate the 
products themselves. 

Compatibility: PC BRAND’S standard products 
are designed to operate with the IBM® PC, XT or AT 
under PC-DOS and require no more than 128k of 
RAM unless indicated. Non IBM machines using 
MS-DOS: contact manufacturer about precise dif¬ 
ferences so we can advise. 

Returns: See box page one. Defective parts will be 
replaced. Please call for authorization to return a 
product for refund. 


Payment: We honor MasterCard, Visa, American 
Express (no surcharge), checks in advance, or 
funds wired to PC Brand, c/o Chemical Bank, 126 
East 86 St., New York, Account 034-016058. COD 
(U.S. only) for cash, money order, certified check 
(no fee). NY State, add sales tax. Purchase orders 
accepted from larger corporations and institutions 
at our discretion if you agree to net 30 days plus 2% 
a month late penalty thereafter. 

Shipping & Handling: U.S.: UPS Surface: 1st 
product $6, each add’l $3. UPS 2nd Day Air: 1st 
product $10, each add’l $4.50. UPS Next Day Air or 
Federal Express 1-2 Day Air: 1st product $18, each 
add’l $6. FedEx Next Day 10 AM: 1st product $28, 
each add’l $7. International: Charges vary by 
destination and carrier. $10 per shipping container 
for export forms. Air parcel post at your risk beyond 
collected insurable amount. 


For Orders, Literature, or Catalogs, Call Us at... 

800 PC-BRAND 

That’s (800) 722-7263. In NY State call (212) 242-3600 
PC Brand, 150 5th Ave., New York, N.Y. 10011-4311 
Telex: 667962 (SOFT COMM NYK) 


©1986 PC BRAND 

Prices, terms, and specifications subject to change without notice. 

CIRCLE NO. 172 ON READER SERVICE CARD 
















His company sent him on a 
mission to make two offices 
1800 miles apart, work like one. 


Every company has a PC systems expert like him 
responsible for directing microcomputing 
strategies and budgets. His product recommen¬ 
dations are as good as purchase orders. 


needs, written by micro systems experts he * 
can trust. 

Inside two recent issues, he finds clues to 
his company’s communication problem: Augie 
Hansen’s revi ew of the new communications 
package, “Relay”—and a preview of David Sch- 
waderer’s long awaited book, “Digital Communi¬ 
cations Programming for the IBM PC.” 

Help him face the challenge 

It’s not only articles he reads for 
clues. He explores the informa¬ 
tion he finds in ads, too. 

Ads in PC Tech Journal act 
as signposts to indicate prod¬ 
ucts that can help him accom¬ 
plish his task (whether it be a 
problem involving communi- Jm . 
cations, custom boards, £m 

mass storage, or operating Jf ■ 

systems). 

And PC systems experts 

find your ad without a lot " 

of digging around. Because 
every product advertised 
is listed under its proper 
category in the product 
index—just one more 
reason why sophisticated 












systems experts turn to PC Tech Journal 
when they’re ready to huy. 

Accomplish your mission 

Don’t he the missing clue that can solve this 
PC expert’s problem—and 100,000 other sys¬ 
tems experts like him who read PC Tech Jour¬ 
nal. 

Call your PC Tech Journal sales representa¬ 
tive, right now, and let Tech Journal guide 
customers to where you want them to go— 
right to your products. 


OURNAL i 

Unmatched power in your market 


Ziff-Davis Publishing, One Fbrk Avenue, New York, NY 10016 (212) 503-5100 






















COMPUTER GRAPHIC » DOV JACOBSON 




DATA MANAGERS AS 
DEVELOPMENT TOOLS 


A Data Manager for 

Flexible 

Designs 


156 


PC TECH JOURNAL 










KMAN’s richness of features makes for a 
powerful and flexible product , but one that can 
become overly complex without careful use. 


I magine a programming environ¬ 
ment that is rich with functions and 
modern structures complete* with a 
data manager that handles multifile 
accesses by itself, leaving the user to 
worry about program flow rather than 
the mechanics of file retrieval. Add to 
this a built-in spreadsheet or a powerful 
editor that handles program revisions 
interactively within the programming 
system itself. Top it off with the ability 
to build a communications facility or 
perhaps a business graphics module 
directly into an application. This is what 
KnowledgeMan/2 is all about. 

KnowledgeMan/2 (usually short¬ 
ened to KMAN) is a product of Micro 
Data Base Systems, Inc., the veteran de¬ 
signer of relational and postrelational 
database systems for mainframes, minis, 
and micros, mdbs hi, the company’s 
postrelational database and application 
development system, is considered a 
standard in the micro- and minicomput¬ 
er industries. In many ways, KMAN is a 
subset of mdbs hi features, and the two 
programs can interchange data easily 
through the optional K-Comm commu¬ 
nications package. 

The basic KMAN package includes 
a data management system (with query 
and programming languages) as well as 
a fully integrated spreadsheet. Optional 
utilities include K-Text, a full-screen text 
processor; K-Graph, a business graphics 
package; K-Paint an interactive forms 
generator; K-Report, a custom report 
generator; K-Comm, a communications 
module; and K-Mouse, a mouse driver/ 
menu developer. Also available are 
K-Run and K-RunX, which are runtime 
systems for KMAN and the optional 
modules, respectively. 

The fact that all the K-modules are 
sold separately suggests that the KMAN 


RICHARD N. AARONS 


system is only loosely integrated; this is 
far from the case. The system actually 
comprises one .EXE file and 18 over¬ 
lays. Most of the optional modules are 
made up of additional overlays. 

Unique to this approach to integra¬ 
tion is the Memory Overlay Manage¬ 
ment utility (MOMAN). It is used to add 
or remove the code contained in over¬ 
lay files to the KMAN.EXE file, thereby 
alllowing the user to customize the sys¬ 
tem by selecting particular features. 
When KMAN is called at the DOS 
prompt, KMAN.EXE is loaded, and it, in 
turn, calls up overlays as needed to exe¬ 
cute its commands. This works fine—es¬ 
pecially for hard-disk systems in which 
overlay load time is insignificant. 

If the user has plenty of memory 
available, the MOMAN utility can add 
the overlay file code directly to the 
KMAN.EXE file. Then the appropriate 
overlays are automatically loaded when 
KMAN is called from the DOS prompt. 
The user can elect to consolidate any 
number of overlay files into KMAN.EXE. 
This action increases the size of 
KMAN.EXE and, consequently, the time 
required to load it. Once KMAN.EXE is 
loaded, however, the overlays are al¬ 
ways in memory and available within 
the KMAN environment instantaneously. 
Some KMAN users compromise by 
using MOMAN to add only those over¬ 
lays that they use most often. 

KMAN installation is relatively sim¬ 
ple—especially in the recommended 
hard-disk environment. The program, 
its utilities, and demonstration files are 
provided on four diskettes. The op¬ 
tional modules are provided in separate 
packages, each containing one program 
diskette and appropriate documentation 
pages and tabs that can be added to the 
master documentation. 


In the IBM PC, PC/XT, and PC/AT 
hard-disk environments, installation re¬ 
quires that all files be transferred from 
the distribution diskettes to a hard-disk 
subdirectory, that an appropriate driver 
be selected for the user’s monitor type, 
that the KMAN subdirectory name be 
added to the PATH command in the 
AUTOEXEC.BAT file, and that the 
CONFIG.SYS file be updated to include 
the FCBS=255,0 command. 

KMAN provides an installation util¬ 
ity that automates the task by asking 
where the user wants the KMAN files 
(subdirectories, etc.) and what type of 
monitor is being used. The installation 
routine updates the CONFIG.SYS and 
AUTOEXEC.BAT files, but it can confuse 
matters by adding its own PATH com¬ 
mand to AUTOEXEC.BAT rather than 
appending its directory name to the ex¬ 
isting PATH command. 

KMAN’s distribution diskettes are 
not copy protected, thus easing the in¬ 
stallation process appreciably. MDBS 
also provides utilities that allow users to 
customize the standard keyboard or to 
set up the program for use with non¬ 
standard consoles. 

KMAN SYNERGY 

The designers of KMAN talk of synergy 
when asked about the internal design of 
the data management system and the 
optional utilities. KMAN has been de¬ 
signed so that any command or feature, 
including the optional packages, can be 
invoked from anywhere in the KMAN 
environment. The system has no hier¬ 
archical structure—no “top level” to 
which the user must return in order to 
invoke commands. For example, a 
spreadsheet cell can contain a string, a 
variable (of any type), or an entire pro¬ 
gram. Data can be moved from data file 


JUNE 1986 


157 









KMAN 


to spreadsheet to text processor to 
communications module. 

KMAN supports four classes of vari¬ 
ables, each of which supports four vari¬ 
able types. Variable classes—working, 
predefined, cell, and held—are an in¬ 
trinsic part of the KMAN programming 
scheme. Variable types are numeric, 
string, integer, and logic. 

All classes and types of KMAN vari¬ 
ables are available for use in the inter¬ 
pretive environment. In fact, the vari¬ 
ables, functions, and programming lan¬ 
guage elements can write programs that 
do not refer to data table hies. For ex¬ 
ample, this is a valid KMAN program: 

LET a = 12.0 
LET b = 15 
OUTPUT a + b 

Programs either can be entered in¬ 
teractively or stored in text hies called 
perform hies. These are given the ex¬ 
tension .IPF and can be run at any time 
within the KMAN environment simply 
by entering the command PERFORM or 
its synonym INCLUDE followed by the 
perform hie name. 

The number of working variables 
available at any given time is limited 
only by available memory. Working 
variable names must begin with a letter 
of the alphabet and can be up to eight 
characters long. In the KMAN environ¬ 


ment, working variables are loosely 
typed; these variables derive their type 
through the assignment of initial values. 
The user should assign types to the 
variables at the beginning of a routine. 

KMAN also allows dynamic variable 
typing—that is, a variable can taka on 
the type of its current contents. There¬ 
fore, a variable’s type can change over 


KjTW has been designed 
so that any command or 
feature can be invoked 
from anywhere within the 
KMAN environment. 



the course of a program. These matters 
of typing become important in screen 
forms when data are being presented 
on the screen or when screen input is 
being used to assign values to variables. 

The class of predefined variables 
can be divided into environment and 
utility variables. As their name implies, 
environment variables control the pro¬ 
gramming environment. The basic 
KMAN package has 60 such variables. 


Brand New From Peter Norton 
A PROGRAMMER’S EDITOR 



that’s lightning fast with the hot 
features programmers need 


Direct from the 
man who gave you 
The Norton Utilities , 
Inside the IBM PC, 
and the Peter Norton 
Programmer's Guide. 


INORTON 

EDITOR 


U This is the program¬ 
mer’s editor that I wished 
I’d had when I wrote my 
Norton Utilities. You can 
program your way to 
glory with The Norton 
Editor.” 




■■ !!§§ | ■ 


Easily customized, and saved 
Split-screen editing 

A wonderful condensed/outline display 
Great for assembler, Pascal and C 


Peter Norton Computing, Inc., 2210 Wilshire Boulevard, 
Santa Monica, CA 90403,213-453-2361. Visa, 
Mastercard and phone orders welcome. 

The Norton Editor™ is a trademark of Peter Norton Computing, Inc. © 1986 Peter Norton Computing. 


The environment variables control 
a variety of settings influencing I/O to 
and from the console, printer, and disk 
hies; default mathematic precision and 
decimal positions; U.S. versus British 
date and decimal notation; default string 
length; foreground and background 
colors in the spreadsheet, text, and 
graphics modes; bell warnings; the 
availability of help menus; and other 
miscellaneous settings. 

All environment variable names are 
in the form E.AAAA. The E-dot sequence 
identifies the variable as an environ¬ 
ment variable, and the AAAA sequence 
describes its function. For example, set¬ 
ting E.OPRN = TRUE directs output to 
the printer, setting E.STAT = TRUE 
turns on automatic statistics generation, 
and setting E.BELL = TRUE sounds the 
bell upon invalid input. 

Predefined utility variables, which 
begin with the character #, normally 
contain the results of some process, 
such as the latest statistics collected or 
information about the status of the cur¬ 
rent KMAN session. Many are updated 
automatically by KMAN. For example, 
the utility variable #FOUND contains 
the value TRUE if a search of a table 
found a record and FALSE if the record 
was not located. #DATE normally con¬ 
tains the system date, but the user may 
change the value, as in this example: 

LET #DATE = “01/01/33.” 

Cell variables contain the values of 
spreadsheet cells. The basic KMAN 
package includes an integrated spread¬ 
sheet holding a maximum of 253 rows 
and 255 columns. It can be used as a 
stand-alone spreadsheet or in combina¬ 
tion with data tables or the optional text 
and communications packages. A subset 
of information contained in a data table 
can be converted to a specified set of 
cells in a spreadsheet. The information 
can be manipulated in the spreadsheet, 
then moved to the text processor 
(K-Text) for inclusion in a document. 
The document then can be distributed 
electronically using K-Comm. Of course, 
the whole process can be reversed. 

Interestingly, KMAN treats cell vari¬ 
ables as a two-dimensional array. For 
example, #(1,1) is cell #A1, while 
#(3,2) is cell #B3, and so on. The sub¬ 
script of the cell array can be an ex¬ 
pression as well as a constant, so pro¬ 
grams can reference the spreadsheet 
just as any other array. 

As noted earlier, the value of a 
spreadsheet cell can be a simple num¬ 
ber or string, a numeric or string 
expression, or an entire program (pro¬ 
cedure). A spreadsheet cell could con¬ 
tain the formula format #B3 + #C4, 


158 


CIRCLE NO. 150 ON READER SERVICE CARD 


PC TECH JOURNAL 











BRADY Speaks 

Your Language 


We can help you buff up your BASIC.. .Put a finish on your FORTH... 
Conquer C... Succeed with Assembler... And more! Just call toll-free 
or use the coupon to order today! 



1. The perfect intro to CP/M-86 
even if you’ve never programmed 
in assembly language before. 
Includes sections on sequential 
file handling and memory manip¬ 
ulation, and more. $21.95 



2. Beyond the basics, this guide 
explores new structured concepts 
to analyze and solve problems in 
C with tools of modularity, input 
and output functions, arrays and 
structures, and bit manipulation. 
$21.95 



3. The special focus is on screen 
management and data retrieval. 
You’ll find a library of reusable C 
software tools to help create inter¬ 
active systems, including file 
management, screen forms, etc. 
$21.95 



4. The best C articles from the 
highly respected Dr. Dobb s 
Journal dealing exclusively with 
C language and programming 
techniques. $24.95 




Handbook of 

P| A I ^ 

forthelBM PC 



5. Our best-selling assembler 
book has been made even better! 
It now includes 30 assembler 
Macros and version 2.0 of the 
IBM Assembler. $21.95 


6. For everyone who thought APL 
was too unorthodox to bother 
learning, this guide will unlock the 
secrets to its logic and show you 
how to write the fastest, most 
compact code. $22.95 


7. The author of our best-selling 
assembler books now demon¬ 
strates his detailed and accurate 
style on the 80286 chip. $21.95 


Now at your book or computer store. Q||il_CO^ -HOP Q 
Or order toll-free today: WWW wW£kW 


8. PC magazine calls it: “A truly 
remarkable book...A treasure 
trove of useful programming infor¬ 
mation on the IBM PC.” $22.95 


In New Jersey: 
800-624-0024 


[""brady COMMUNICATIONS COMPANY, INC. 
c/o Prentice Hall 
P.O. Box 512, W. Nyack, NY 10994 

Circle the numbers of the titles you want below. 
(Payment must be enclosed; or, use your charge 
card.) Add $1.50 for postage and handling. 

Enclosed is check for $_or charge to 

□ MasterCard □ VISA 


Acc’t #_ 

Signature. 

Name_ 

Address _ 
City. 


State _ 


(New Jersey residents, please add applicable sales tax.) 
Dept. 3 


Exp. date. 


Zip. 


GR-BLPT-CA(4) 


1 (0-89303-390-1) 2 (0-89303-473-8) 3 (0-89303-612-9) 4 (0-89303-599-8) 

5 (0-89303-575-0) 6 (0-89303-567-X) 7 (0-89303-484-3) 8 (0-89303-510-6) J 

iiiiiTiiMiiiiiiMiiMm 


CIRCLE NO. 161 ON READER SERVICE CARD 































KMAN 


FORTRAN 

PROGRAMMERS 



EVER FEEL LIKE YOUR 
PROGRAM WILL NEVER 
FINISH COMPILING? 


Your valuable time is spent waiting 
endlessly for your programs to com¬ 
pile. As your waiting increases you fall 
further and further behind on your PC 
FORTRAN project. 

If pride in your work and meeting 
deadlines are important to you then 
you can’t afford to be without F77L 
any longer. With F77L we have not 
only developed an unbelievably fast 
compiler but we did it without sacri¬ 
ficing features, diagnostics, or the 
speed of execution. This uncompro¬ 
mising attitude is evident in the 
quality and performance of F77L. 
Whether you are downloading from 
mainframes or developing on the 
personal computer, you can 
appreciate the importance of 
compiler speed. 


PHONE FOR DETAILS about 
VERSION 2.00 and our NEW MANUAL 

F77L 

“THE PROGRAMMER’S FORTRAN” 

$477.00 

Requires: PC/MS-DOS, 256K, 8087 

TO ORDER OR FOR MORE INFORMATION 


(213) 541-1200 



Lahey Computer Systems, Inc. 

31244 Palos Verdes Drive West 
Suite #243 

Rancho Palos Verdes, CA 90274 


Serving the FORTRAN community since 1969 


NUMBER TWO IN A SERIES OF ADS 


CIRCLE NO. 128 ON READER SERVICE CARD 

160 


meaning this cell should show the sum 
of the values in cells #B3 and #C4. 
However, a cell also can contain :he 
command PERFORM xxx, where m is 
the name of a perform file stored, on 
the disk. Then, the cell would take on 
the returned value of the program. 

T he value of a spreadsheet 
cell can be a simple number 
or string, a numeric or 
string expression, or an 
entire program (procedure). 


The spreadsheet command line 
accepts any spreadsheet command or 
(more important) any valid KMAN com¬ 
mand or programming structure. 
Spreadsheet items, such as auto-recalcu¬ 
lation, direction of calculation, and fore¬ 
ground and background colors, are all 
controlled by environment variables. 

The final variable class is field. 

Field variables can be string (STR) with 
a maximum length of 65,534 characters, 
numeric (NUM) with up to 14 digits of 
accuracy, integer (INT) with up to 14 
digits, or logical (LOGIC). 

TABLE STRUCTURES 

KMAN maintains data in flat tables that 
are unlimited in number. Each row in a 
table represents a record; each column 
a held. In the sample application devel¬ 
oped by PC Tech Journal to test data 
managers, information about magazine 
authors, articles, and issues is kept in 
separate tables. (For a description of 
the sample application, see “Sample 
Application Specifications,” August 1985, 
p. 48. The article also is available for 
downloading on PCTECHline.) In the 
KMAN world, each table has a name 
consisting of up to eight alphanumeric 
characters followed by the extension 
.ITB. In the sample case, the tables are 
named Author.ITB, Article.ITB, arid 
Issue.ITB. Tables automatically reside in 
a fully encrypted format on disk. 

The KMAN command USE opens a 
given database for use in the KM\N en¬ 
vironment—for example, USE Author. 
Once a table is put into use, the helds 
of its current record become avai lable 
as held variables in the programming 
environment. The table and held names 
are combined to produce a qualihed 
held variable name. If, for example, the 
last-name held in the Author table is 


Lname, the fully qualihed held variable 
name is Author.Lname. 

Theoretically, a database comprises 
the information in one or more tables 
and the relationships among the infor¬ 
mation in multiple tables. In KMAN, 
each table exists as a single DOS hie. 

The relationships between the contents 
of the hies are created by the KMAN 
user upon requesting data with either 
the query language at the interactive 
prompt or commands in a program. A 
header begins each hie, dehnes the 
helds in the table, and stores informa¬ 
tion about the table for the KMAN sys¬ 
tem. The header information is, in ef¬ 
fect, a data dictionary for each table. 
Unlike other data managers, however, 
KMAN has no master dictionary contain¬ 
ing information about entities, relations, 
and hies (tables) within a database. 

A KMAN table can be dehned inter¬ 
actively simply by entering the word 
DEFINE. KMAN prompts for the name 
of the table and the hie in which the 
table is to be stored, then prompts for 
entries for up to 255 helds. A held is 
dehned by giving its name, type (STR, 
INT, NUM, or LOGIC), the size of a STR 
held, and, optionally, a label and a data 
picture. Field dehnition is ended by 
entering the command ENDDEF. 

Alternatively, the DEFINE com¬ 
mand, the held dehnitions, and END¬ 
DEF can be put in a procedure hie to 
generate the table in a batch mode. 

This is especially helpful when dealing 
with databases that have a large number 
of helds and complex data pictures. 

Besides actual helds, KMAN tables 
support virtual helds. Only the dehni¬ 
tion of a virtual held is carried in the 
KMAN table; its value is calculated when 
needed. Suppose a user wants to see 
the monthly salary paid to each author 
on a regular basis even though salary 
and bonus information are kept only in 
terms of annual totals. Monthly salary 
could be dehned as a virtual held in the 
Author table. Its dehnition might look 
like the following: 

Monsal NUM = (Salary + Bonus)/12 
USING “dd,ddd” 

Author.Monsal is now a legitimate held 
variable for the Author table. While the 
Salary and Bonus helds physically exist 
in the Author table (and take up storage 
space), the value of Author.Monsal is 
calculated only when Author.Monsal is 
used in a KMAN command. 

Once a table has been dehned, rec¬ 
ords can be attached from text hies in 
DIF format, BASIC data format, quoted 
or unquoted ASCII format, or (with a 
bit of editing) just about any other text 

PC TECH JOURNAL 




























r 



VTERM/220 


Over 35,000 VTERM users, like Teradyne’s Financial Sys¬ 
tems Group, recognize the importance of critically evalu¬ 
ating a DEC terminal emulator. Demanding professionals 
require high quality, reliable DEC terminal emulation. 
After painstaking evaluation, Teradyne’s Gregg Prescott 
said, “With VTERM’s speed, ease of use, hot key 
and host control of file transfer, we can build systems 
around VTERM utilizing distributed PC applications.” 
Coefficient’s VT100 terminal emulator, introduced in 1981, was the first in the 
industry. Our thorough attention to detail at every stage of the design, develop¬ 
ment and testing process has won us more satisfied users than all our competi¬ 
tion combined. Now, a new more powerful VTERM supports VT220 terminal 
emulation. Powerful features include: 

• Plug compatible VT220 and VT100 video and keyboard emulation with 
customizable key mappings. 

• Optional Tektronix™ 4010/4014 graphics terminal emulation. 

• Powerful file transfer including the most thorough implementation of 
KERMIT available on the PC, plus XMODEM, and our proprietary 
protocol VTRANS with complete host-side software for VMS™ RSTS/E™ 


Quality makes all 
other DEC terminal 
emulators obsolete 


RSXll M/M+™ and UNIX™ 


CIRCLE NO. 189 ON READER SERVICE CARD 
Trademarks: DEC, VMS, RSTS/E, RSX11 M/M + , Digital Equipment Corp.; 

Tektronix, Tektronix, Inc.; Lotus, 1-2-3, 

Symphony, Lotus Development Corp.; dBase, Ashton-Tate, UNIX, AT&T, Bell Laboratories. 


• Host data capture and conversion to Lotus® 1-2-3® Symphony® 
and dBase® 

• 132-column display via horizontal scrolling or optional video board. 

• Scrollback buffer for redisplay of up to 2,000 lines (80 screens!). 

• “Hot Key” toggle between host session and PC DOS. 

• Programmable softkeys with script-like capabilities. 

• Full support for multinational and national character sets. 

Call 212-777-6707 ext. 150, to get the best there is in 
DEC terminal emulation and communications software. 


Coefficient 

The Leader in DEC Emulation Software 
Coefficient Systems Corporation 
611 Broadway, New York, N.Y. 10012 

















KMAN 


format. Files are exported to Lotus 1-2-3 
by converting them to a text file in DIF 
format and using the Lotus translate 
utility. Sending Lotus data to KMAN 
involves the reverse procedure. 

An alternative is to create records 
one at a time, interactively. CREATE dis¬ 
plays the field names and prompts for 
keyboard entry. WordStar-style editing 
commands are recognized as well as 
some of the IBM keyboard’s special 
keys (arrows, Home, End, Ins, and Del); 
a utility, KEYMAN, can be used to rede¬ 
fine the function and control key set¬ 
tings. Although the user cannot design 
colorful, complex screens with CREATE, 
the default screen is fine for basic edit¬ 
ing and record creation functions. 

Records can be deleted singly or in 
sets with the MARK command. This sets 
the special #MARK field to TRUE. When 
the value of the environment variable 
E.IMRK is set to TRUE, marked records 
are ignored in all commands except 
UNMARK, COMPRESS, INDEX, and 
SORT. COMPRESS deletes all marked 
records and recovers unused space. 
However, all index files associated with 
the table are obsolete after a compress 
and must be rebuilt. If the user wishes, 
COMPRESS and REINDEX can be added 
to a shut-down procedure so that when¬ 
ever KMAN is terminated, all marked 


records are deleted, their space recap¬ 
tured, and the indexes rebuilt. 

A glance at the accompanying side- 
bar reveals that KMAN is, for all practi¬ 
cal purposes, unlimited in record size, 
field size, fields per record, and records 
per field. However, it is almost a cer- 

A though the user cannot 
design colorful, complex 
screens with CREATE, the 
default screen is fine for 
basic editing and record 
creation functions. 



tainty that a KMAN user will want to 
change some field definitions as a data¬ 
base project progresses. KMAN really 
shines here. Its REDEFINE command 
can be used to add or delete fields, re¬ 
name them, or even change their type 
or size. Obviously, deleting an existing 
field causes the loss of data in that field, 
changing the field’s size may cause 
either fill or truncation of existing data, 


GET THE BEST 

DISK MANAGEMENT SYSTEMI, 
AND STOP PLAYING AROUND. 

Hide and seek is a great game, but why play it with your computer? You’ve been spending too much time 
chasing after those remote files.. .mourning your mistaken erasures.. .trying to hide delicate work-in-progress. 
Get back to business. Get FILE POWER. 

Go ahead, compare it to Norton Utilities and Window DOS. You’ll find that FILE POWER is the most powerful and 
complete disk management system around! 


FEATURES 

Norton 

Utilities 

Window 

DOS 

FILE 

POWER 

Sort 

X 

X 

X 

Encryption 



X 

Undelete 

X 


X 

Buffer Extender 



X 

Copy Space Allocation 



X 

Disk Search 

X 


X 

Path Macros 


X 

X 

Time Display 



X 

Erase Prompt 



X 

Change Directory 

X 

X 

X 

Directory Display 

X 

X 

X 


So get down to work.. .more efficiently, more accurately, more powerfully.. .with FILE POWER. It’s a great way for 
you and your computer to get serious. 


SPECIAL INTRODUCTORY PRICE: 

$59.95if you order before 

Aug ust 31 , 1986! 

Bruce Newman Company 
425 E. 80th St., #2A 
New York, NY 10021 
Or phone: 212-772-2399 



Bulk orders accepted. 

All packages are sent UPS. 
Add $5 for UPS blue. 


New York State residents 
add 8 3 A% sales tax. 


CIRCLE NO. 107 ON READER SERVICE CARD 


and changing a field’s type may result 
in a new interpretation for the data 
rather than its destruction. 

Getting information out of tables is 
the business of any data manager. 

KMAN allows the user to obtain infor¬ 
mation either through interactive quer¬ 
ies or through the creation of proce¬ 
dures and programs. KMAN’s query lan¬ 
guage is similar to SQUDS, popular in 
many mainframe database systems. Its 
syntax looks like this: 

VERB expressions FOR conditions SCOPE. 

Suppose the Author table is in use 
and is the default table. Suppose further 
that the user wants to know the name 
of each author who both makes more 
than $4,000 monthly and lives in Con¬ 
necticut. The following command 

LIST Lname Fname Monsal FOR Monsal > 
4000 AND State = “CT” 

would display a list in neat rows and 
columns on the screen. This default list¬ 
ing uses the utility variable settings for 
column headings. Alternatively, the user 
could manipulate the environment vari¬ 
ables to send the list to a printer or to a 
text file. CONVERT could be used in¬ 
stead of LIST to send the information to 
a disk file in BASIC, ASCII, or DIF 
format or to another table, or the list 
could be sent to the interactive spread¬ 
sheet for further manipulation. 

The LIST command shown above 
gathers all records that meet the user’s 
conditions. Another KMAN command, 
OBTAIN, retrieves a single record that 
meets those conditions. OBTAIN can be 
used with FIRST, LAST, NEXT, or 
NEXT(n) to get any particular record in 
the group that qualifies. 

OBTAIN FIRST RECORD 

FOR Monsal > 4000 AND State = 

“CT” WITH Fname Lname Monsal 

would present the first record in the 
group in the default edit format for 
manipulation. If the WITH clause is 
dropped, all fields are displayed. 

If the environment variable E.SUPD 
(suppress display) were set to TRUE, 
the selected record would not be dis¬ 
played, but it would be made the cur¬ 
rent record, so its field variables would 
become available for manipulation. 

USING MULTIPLE TABLES 

If all data could be kept in single, two- 
dimensional tables, life would be much 
simpler. But for better or worse, the 
world is not flat and we must come up 
with ways of arranging flat data files to 
model multidimensional situations. 
Consider the sample application, which 


162 


PC TECH JOURNAL 





























technical 

in your job. 

Ye$l Enter my s’ 

jOUKNAh. 

Name- 

Comp an Y 


Ascription 


address—- _. 

State- 

City-' "T DBiUmelatei 

H payment enclo ^ g%p ertsih pC 

Consult with the 

, Addt ^—— _ 


e of *47.40- 

, years (24 i*g> 

lorn save 50/ 

-«*»» rd£ — 


Why your next generation of 
products should use our 5th 
generation tools. 


( The Arity Expert Systems Development j 

Package J 


(the Arity SQL Development Package /V l / ^ / / / f 

(^/Prolog Com piler end Interne- I ' |f 

Save 50% 011 ^ 

«>» — 

^verytnonth, , hoW -to t 


mu ill in i mi I i ii request detailed information 

^^^^^Bgl!ompiler and Interpreter V4 . $795.00 

Aritv/Prolog Interpreter V4.'. $350.00 

Arity Standard Prolog.. $ 95.00 

elopment Package. $295.00 


Quantity Info 


only 


Aritv/Prolog Interpreter V4.. $350. 

Arity Standard Prolog.. $ 95. 

Arity SQL Development Package. $295. 

Aritv Expert Syscerii Development Package . $295. 

Arity Screen Design "toolkit . $ 49. 

Interchange toolkit. $ 49 


distribute 
rious 
tware for 

:t,at 


95.00 


Aritv SQL 


Dev 


$295.00 


rlopme 


Arity 


hekage 


ntl 


Design 


$ 49.95 


olkit 


Arity File 


$ 49.95 


. 9 

prices include shipping to all l 


A residents add 5% 


AMOUNT I 


IOTAI 


sales tax) ( 


ITiese 


itics) 


NAMF_ 

SHIPPING ADDRESS 
CITY/STATE/ZIP_ 


TY/STATE/; 


:/zn 


i i/o ir\i rj/;i 

TELEPHONE_ 

Payment: □ Check □ PO D AMEX □ VISA 

Card# 


□ MC 


. Exn. date. 


Signature- 















































How to keep a whole fleet of 
IBM PCs up and running* 


Introducing Fluke’s PC TESTER, 
the 30-minute turn-key solution 
for IBM® PC Troubleshooting. 

Whether it's a bug in the monochrome 
board, a sick system board, or a dead disk 
controller board, Fluke’s PC TESTER can re¬ 
duce the hours you spend troubleshooting an 
IBM PC to a remarkable 30 minutes or less. 

No more messy “rat’s nest” of test clips to 
clutter the bench; just one 40-pin plug in¬ 
serted into the 8088 socket, and you’re up and 
running a comprehensive set of functional 
tests on all three boards. 

When a bad circuit is detected, PC TESTER’S 
specially designed TECHPRO™ software 
leads you straight to the bad 1C. Concise 
guided-fault messages tell you which nodes 


to test with Fluke’s signature probe. And PC 
TESTER can be used by anyone, regardless of 
experience. 



Fluke’s PC TESTER consists of a TECHPRO Software pack¬ 
age and instruction guide for exclusive use on Fluke’s revo¬ 
lutionary 9000 Series Micro-System Troubleshooter along 
with an 8088 microprocessor interface pod. Prices start as 
low as $6,490 for the entire system. Software only: $1,500. 


So if you’re repairing IBM PCs, or thinking 
about it, take a close look at Fluke’s PC 
TESTER. See how you can troubleshoot a 
whole fleet of IBM PCs. At a price that makes 
dollars. And sense. 

For more information, call our toll-free 
hotline, 1-800-426-0361. Or contact your 
local Fluke Representative for a free demon¬ 
stration. 




IBM and IBM PC are registered trademarks of International Business Machines Corporation. 

TECHPRO is a trademark of Diversified Data Corporation. 

IN THE U.S. AND NON-EUROPEAN COUNTRIES: John Fluke Mfg. Co., Inc., P.0. Box C9090, M/S 250C, Everett, WA 98206, Sales: (206) 356-5400, Other: (206) 347-6100. 
EUROPEAN HEADQUARTERS: Fluke (Holland) B.V., P.O. Box 2269, 5600 CG Eindhoven, The Netherlands, (040) 458045, TLX: 51846. 

© Copyright 1985 John Fluke Mfg. Co., Inc. All rights reserved. Ad No. 1002-9000 

CIRCLE NO. 204 ON READER SERVICE CARD 







































































KMAN 


requires tracking magazine articles 
and their authors. 

A reasonable model of the real 
publishing world can be made by con¬ 
sidering relations among the flat tables. 
Many articles could have been written 
by one author. A similar relation exists 
in that many articles are contained 
within a single issue. 

These many-to-one relationships 
are handled quite easily by KMAN’s 
multiple table manipulation scheme. 
However, in the PC TECH JOURNAL 
sample application, more than one au¬ 
thor may work on a single article. 
Therefore, authors and articles can exist 
in a many-to-many relationship; KMAN 
cannot handle this situation without 
some programming help. 

In some database systems, links 
(relations) are defined when tables are 
created. In KMAN, however, the links 
are established with the query language 
or from within a program. For example, 
the link between the Author and Article 
tables can be made on the author’s first 
and last name fields. With a many-to- 
one relation between articles and 
authors, a list of all articles, their au¬ 
thors, and the author’s work phone 
number would require a query similar 
to the following: 

LIST Author.Lname Author.Fname 
Article.Title Author. Wphone 
FROM Article FROM Author 
WHERE Author.Lname = Article.Lname 
AND Author.Fname = Article.Fname. 

Control-breaks based on the author’s 
name could be added and the environ¬ 
ment variables could be set up to route 
output to various devices. 

Working variables and math and 
string expressions can be included in a 
multitable list command. As a result, the 
user is limited only by imagination and 
time in establishing relations and mak¬ 
ing queries—as long as either a many- 
to-one or a one-to-one relation exists 
between the tables. 

Because KMAN allows any number 
of tables to be in use simultaneously 
and allows command lines of any 
length and because relations are estab¬ 
lished by the query itself, there are vir¬ 
tually no limits to what can be asked or 
where the question begins. Extraction 
time, however, places a practical limit 
of three or four on the number of 
tables to be queried simultaneously. 

Selection time seems to increase 
geometrically with the number of tables 
accessed, because the tables are 
searched sequentially. When index files 
are used, however, the searches sub¬ 
stantially speed up. Indexing can help 


only when a key value is involved in 
the search. The good news is that any 
table can be indexed without practical 
limits on either the number of indexes 
per table or the length of the index key. 
The maximum index key length is 
65,535 characters, although MDBS rec- 

I n addition to its regular 
working environment, 

KMAN has its own set of 
Pascal-like program control 
structures and commands. 


ommends that an index key be no 
longer than 10 characters for fastest 
processing. Indexes are maintained in 
B+trees, and retrievals involving only 
indexed values are extremely fast. 

Indexes can be created or de¬ 
stroyed at any time. In order for an 
index file to be automatically updated 
along with the table, the file must be 
mentioned in the USE command when 
the table is opened, and the environ¬ 
ment variable E.INUP, which is used to 


determine whether or not the index is 
maintained along with record modifica¬ 
tion, must be set to TRUE. 

PROGRAMMING WITH KMAN 

In addition to the working environment 
already described, KMAN has its own 
Pascal-like program control structures 
and commands, including WHILE/DO, 
TEST/CASE, IF/THEN/ELSE, and PER¬ 
FORM/RETURN. Working variables can 
be declared to be local to procedures; 
otherwise they are considered global 
variables. Field, cell, and predefined 
variables are always global. Arguments 
may be passed to procedures, and 
procedures may call procedures to an 
unlimited depth of nesting. 

KMAN’s powerful macro capability 
can be addictive. Any eight-character 
string that begins with an alpha charac¬ 
ter, except KMAN key words, can be 
used to name a macro. The contents of 
the macro can be of any length—an en¬ 
tire program if the user wishes; further¬ 
more, macros may call other macros to 
an unlimited depth of nesting. This 
facility can be used to modify the com¬ 
mand language, to create user-defined 
functions, to take care of repetitive ver¬ 
biage during a retrieval session, to exe¬ 
cute a series of commands used in 
creating a report, or even to make the 




DlfuDATa, 

The Only Disassembler 
That Tracks Down DATA!!! 


• Fully disassembles both .EXE and .COM files! 

• Performs recursive flow- and Segment Register data-trace to determine SEGMENT, 
PROC & Data Areas (even within 'CODE' segments)! 

• Outputs appropriate SEGMENT and PROC pseudo-ops at proper places within the 
assembly-language output! 

• Outputs data areas using most appropriate form of DB or DW (ASCII printable text 
as a character string, others as their hex value). 

• Chooses data lengths (DB or DW) to match byte or word data references in code, 
allowing most memory references to be free of BYTE or WORD length operators. 

• Outputs large, all-zero areas with “DB/DW nn DUP (?)” to prevent excessive out¬ 
put from large buffers, uninitialized arrays, etc. 

• Fully labels both code and data. Labels are of the form 'Hxxxxx', where 'xxxxx' is 
the hex offset of labelled item from the beginning of the program. 

• Outputs code, data & pseudo-ops in IBM* ASM or MASM assembler format. 
(Output may be directed to display, printer, and/or disk.) 

• For IBM* PC*/XT* AT* & compatibles, 128K+ RAM, 1 or more disks, DOS 2.X+. 

#8634-20 PC-DISnDATa 1.0 (SSDD 5-V4" diskette) and manual .$145 

U.S. Funds Only. Add $3 shipping (U.S. & Canada), $10 (overseas air) per item. Ohio residents 

please add 6% sales tax. 'Registered trademark, IBM Corporation 

To order, phone (513) 435-4480 (M-F, 9 A.M.-5 P.M. EST), or 
send check, money order, or VISA/MasterCard information 
(name, street address (no P.O. Box please), card number, 
expiration date, and your telephone number) to: 

PRO/AM SOFTWARE __ 

220 Cardigan Road Professional Software for 

Software Centerville, OH 45459 



both Novice and Expert 


JUNE 1986 


CIRCLE NO. 198 ON READER SERVICE CARD 


165 




















KMAN 


use of environment variables somewhat 
more understandable. 

Consider these macro definitions: 

MACRO printon E.OPRN = TRUE 
MACRO printoff E.OPRN = FALSE 

These two macros create two new 
KMAN commands. The first, printon, 
starts output to the printer, and the 
second, printoff, stops it. This use of 
macros can make KMAN programs 
much more readable. 

As mentioned earlier, procedures 
and groups of statements and com- 


■ Turbo Pascal like environment for ANY 
language. 

■ MULTI-FILE window editing. Move & copy 
between file windows. 

■ Extensive Find & Replace usage. 

■ ON-LINE editing HELR 


mands are kept in .IPF files until called 
by the PERFORM or INCLUDE com¬ 
mands. Normally, once a procedure fin¬ 
ishes executing, its memory is freed; 
however, procedures invoked by the 
LOAD PERFORM command remain in 
memory for reuse until freed by the 
RELEASE command. Procedures can be 
combined into a library through the Li¬ 
brary Building utility (KLIB). This ap¬ 
proach can save procedure access time 
and reduce the number of open liles. 
Once the library is loaded, it stays 
memory-resident until released. 


■ Editing commands & colors & more are fully 
user configurable. 

■ ON-LINE language-specific user definable HELR 

■ Full featured editor with M/0/?D S7W? 
like commands. 

■ Fully utilizes sub-directories. 

■ Supports keyboard MACROS. 

Reg. Price 

Limited Time $39.95 


KMAN neither handles transaction 
processing nor creates audit trails auto¬ 
matically. These functions are left up to 
the programmer to resolve. 

Because of its modular structure 
and interpreter environment, KMAN is 
fairly simple to debug. Usually a proce¬ 
dure is developed and debugged inter- 
pretively, then stored as an .IPF hie to 
be called later. Environment variables, 
including E.STEP (display each state¬ 
ment before executing), E.PAUS (pause 
when the screen is full), and E.SERR 
(display or suppress error messages), 
along with the I/O control E-variables, 
can be used to diagnose problems. With 
almost 150 error messages that can be 
trapped, displayed at runtime, or re¬ 
corded to disk or printer, the error 
handling routines can be as complex as 
the designer wishes. 

Programming in the KMAN operat¬ 
ing environment is comfortable. The 
RUN command loads the DOS com¬ 
mand processor to allow the user to en¬ 
ter DOS commands or run other pro¬ 
grams. Typing EXIT at the DOS prompt 
returns the user to KMAN. Alternatively, 
RUN can be followed by a command 
line that places the user directly into an 
external program. In this case, the user 
is returned to KMAN upon termination 
of the external program. This feature 
allows the programmer to use a favorite 
text editor for program development or 
perform other work without disturbing 
the KMAN set-up. 

KMAN also features its own direc¬ 
tory list, hie rename, and hie destroy 
routines that can be used in a proce¬ 
dure or program without ever leaving 
the KMAN environment. 

MDBS offers a runtime package for 
commercial developers. The package in¬ 
cludes an encryption utility, called 
SCRAM, which can be used to keep 
source code secure. All data tables are 
automatically encrypted. 

dBASE-LIKE FORMS 

Screen I/O can be as simple or sophisti¬ 
cated as the user wishes. The com¬ 
mands BROWSE and CREATE (record) 
use a default screen that is a vertical 
column of held names followed by held 
values, if any. These screens enable full 
screen editing, so they are appropriate 
for many ad hoc applications. 

For commercial applications, the 
base program includes the FORM com¬ 
mand, which allows complex forms to 
be created interactively or in a proce¬ 
dure hie. KMAN’s form system is similar 
to Ashton-Tates dBASE series in that a 
form is composed of a number of state¬ 
ments that provide the screen coordi- 


We believe in the highest quality software at the lowest possible price! 

Turbo Pascal is a trademark of Borland inti. Word Star is a trademark of Micro Pro inti. 


PLASH 



SPEED UP YOUR COMPUTER! 


Increase the speed of your computer by as much 
as 4-8 times. Why buy a PC AT when all you may 
need is some FLASH. FLASH is just that, it gives 
disk accesses in a FLASH. Every PC owner can’t 
be without FLASH once the powers of FLASH 
are discovered. The program is totally invisible 
to the user. There is nothing to learn. Make your 
floppies faster than a hard disk. Make your hard 
disks faster than ever before. Allows the user to 
have sub-directories on his floppies without the 
usual loss of speed. FLASH will also tell you just 
how much faster you are running than you would 
have been without FLASH. FLASH is handcrafted 
in ASSEMBLER. Upgrade your computer with 
FLASH. Batch files will fly like they had wings. 
Save wear & tear on expensive program disks. 

You’ll be so amazed with your improved 
performance, you will want to call us to tell 
us so! 


NOT COPY PROTECTED 


BENCHMARKS for different 
programs utilizing FLASH 



W/0 FLASH 

W/FLASH 

WORD STAR 

2.0 

0.33 

BASICA 

2.7 

0.40 

LINKING 

113.8 

6.00 

SORTING FILES 

105.0 

27.00 


“The novice and expert alike will consider 
FLASH their most valued utility.” 

DAVIE LEE REED 

President, SOFTWARE MASTERS 


When FLASH increases your speed it generally 
makes you run 3*5 times faster. In favorable 
conditions like the ones above FLASH can make 
your PC run 6-16 times faster! PC’s over the world 
are screaming for FLASH. Reach the speed of i 
RAM DISK, without their disadvantages. If yot think 
you DON’T need FLASH, call us and tell us why! 

Order Line 1 -8CX)-25-F£AS^ 

Info Line 1-317-253-8088 
MC, Visa, Check, C.O.D. 

For: IBM PC, AT, XT, JR, or done. 

Reg. Price . $Mh95 

Limited Time .&035 

add 4.00 shpng hndl — 
Software Masters 
6223 Carrollton Ave. 

Indpls., IN 46220 


Now utilizes 
expanded 8: extended 
memory. 


SOFTWARE MASTERS®] 


THE UTILITY ROOM 


Spool-Master, ram printer spooler. Multiple copies, handies single sheets, 4935 29.95 

any buffer size. 

Buffer-Master, keyboard buffer extender from 15 to 2000 key type ahead. 2935 24.95 

Super-Ram-Disk, set up MULTIPLE ram disks and as MANY as you want. 4935 24.95 

Calcfad, ram resident calculator, hex octal binary and decimal. Wbrks in 4935 24.95 

ANY graphic mode. Unlimited parenthesis nesting. Many functions. 

Sort-Merge-Copy, a super sort utility. Use it stand alone or call it from 15030 49.95 

ANY language. 

Unprotect, unprotects basic programs. 4935 29.95 

Data-Path, Have paths setup to find your data and overlay files. Works with 4935 29.95 

ALL programs. 

MoreHard, gain up to 10%-50% more hard disk space! 4935 29.95 

ALL programs work in harmony with each other. 


SUPER—ED Version 3. 


Do ANY DOS command or RUN ANY 
program from within SUPER-ED. 


166 


CIRCLE NO. 163 ON READER SERVICE CARD 


PC TECH JOURNAL 























Special MS-DOS Features: 

• Works on IBM PC, XT, AT, JR, TANDY 1000,1200, 
2000, COMPAQ, COMPAQ DESKPRO and most 
MS-DOS compatible machines. Configures for 
graphics and text. 

• Creates stand alone .COM Files 

• Mouse Support. 

• Executes DOS Commands, BATCH Programs or 
other .COM Files from within ZBasic 





i i 















THE ULTIMATE IN ACCELERATION 


X3 


ITS SIMPLY THE VERY BEST MULTIFUNC¬ 
TION ACCELERATOR FOR YOUR PC, 
PC/XT, AND COMPATIBLES AT THE 
MOST AFFORDABLE PRICE! AND 
IT USES NO EXPANSION SLOT! 

NOW SHIPPING WITH A 30 DAY MONEY 
BACK GUARANTEE 

YOUR COMPUTER DEMANDS PRODUC¬ 
TIVITY FUNCTIONS IN ORDER TO GIVE YOU 
ITS BEST! 

PROCESSING POWER 200% TO 800% 

X3 HAS UP TO 8 TIMES THE POWER OF A PC, 
UTILIZING BOTH A 10 MHZ SUPER 88 AND 
THE EXISTING CPU FOR DUAL PROCESSING 
THAT OUTRUNS 80286 MACHINES. X3 ALSO 
HAS A SOCKET FOR AN 8087 MATH CO¬ 
PROCESSOR (5, 8, OR 10 MHZ). 

MORE RAM 200% 

X3 PROVIDES FOR TWO 640 KB MEMORY 
SPACES. THE 640 KB ON THE X3 IS FULLY 
AVAILABLE FOR YOUR APPLICATION PRO¬ 
GRAMS, THE 640 KB IN THE PC IS RESERVED 
FOR I/O BUFFERING. 

HIGH PERFORMANCE I/O 15,000% 

WAITING FOR I/O CONSUMES THE BULK OF 
YOUR COMPUTER TIME. X3 REMOVES THIS 
BOTTLENECK WITH SUCH STANDARD FEA¬ 
TURES AS DISK CACHEING, RAM DISK, PRINT 
SPOOLING, AND ADDITIONAL KEYBOARD 
BUFFERING. DUAL PROCESSING AND THE 
ADDITIONAL RAM GIVES UP TO 1 50 TIMES 
IMPROVEMENT IN I/O RESPONSIVENESS. 
YOUR PC MAY HAVE TO WAIT FOR YOU! 


TRAILRIDGE RESEARCH, INC. 

14300 WEST 50TH AVE. 
GOLDEN, CO 80401 
303-441-9109 



a 



$449 

PRICE INCLUDES 128 KB OF RAM 
ADDITIONAL RAM IS AVAILABLE 
AT $35 FOR EACH 256 KB BANK 


YOUR EXPERIENCE DEMANDS THAT YOU 
ACCEPT ONLY TOP QUALITY AT THE BEST 
PRICE! 

COMPATIBILITY 100% 

X3 PROTECTS YOUR SOFTWARE INVESTMENT. 
IT IS TOTALLY COMPATIBLE EVEN WITH COPY 
PROTECTED SOFTWARE AND ITWORKS WITH 
MOST EMS CARDS. 

WARRANTY 100% — 1 YEAR 

SUPPORT 100% USA 

X3 IS MANUFACTURED AND SUPPORTED 
FROM OUR FACILITIES IN COLORADO. 

SIMPLICITY 

X3 INSTALLATION IS QUICK AND EASY, JUST 
PLUG IT IN AND TURN IT ON. DOCUMENTA¬ 
TION IS CLEAR TO THE NOVICE AND COM¬ 
PLETE FOR THE TECHNICAL EXPERT. 

REMEMBER! 

X3 DOES NOT USE AN EXPANSION SLOT, IT 
PLUGS DIRECTLY INTO THE EXISTING 8087 
SOCKET. 


NO SURCHARGE FOR 
VISA OR MASTERCARD 

DEALER INQUIRIES INVITED 


CIRCLE NO. 186 ON READER SERVICE CARD 














KMAN 


FIGURE 1: Sample Forms 


/* TPF0RMS.IPF 

*/ 

FORM 

AUTMEN 


AT 

2, 

25 PUT 

'PC TECH JOURNAL DATABASE PROJECT" 

AT 

3, 

28 PUT 

"Sample Magazine Inventory" 

AT 

8,16 PUT 

"A> Add an author" WITH »L" 

AT 

10, 

16 PUT 

"B> Edit author tables" WITH "L" 

AT 

12, 

16 PUT 

"C> Return to Main Menu" WITH "L" 

AT 

14, 

16 PUT 

"D> Return to DOS" WITH "L" 

AT 

20, 

16 PUT 

"Please select a LETTER ==>" 

AT 

20, 

59 GET 

CHOICE STR USING "u" WITH "R" 

ENDFORM 



FORM 

AUTED 


AT 

6, 

1 PUT " 

Social Security Number:" WITH "L" 

AT 

6, 

25 GET 

Ssn NUM USING "nnn-nn-nnnn" 

AT 

6, 

25 PUT 

Ssn USING "nnn-nn-nnnn" 

AT 

9, 

6 PUT " 

First Name:" WITH "L" 

AT 

9, 

18 GET 

Author.Fname STR USING "%12a" 

AT 

9, 

18 PUT 

Author.Fname USING "%12a" 

AT 

9, 

41 PUT 

"Last Name:" WITH "L" 

AT 

9, 

52 GET 

Author.Lname STR USING "%18a" 

AT 

9, 

52 PUT 

Author.Lname USING "%18a" 

AT 

11, 

6 PUT 

"Street address:" WITH "L" 

AT 

11, 

36 GET 

Author.Address STR USING "%20r" 

AT 

11, 

36 PUT 

Author.Address USING "%20r" 

AT 

13, 

6 PUT 

"City:" WITH "L" 

AT 

13, 

12 GET 

Author.City STR USING "%16r" 

AT 

13, 

12 PUT 

Author.City USING "%16r" 

AT 

13, 

31 PUT 

"State:" WITH "L" 

AT 

13, 

38 GET 

State STR USING "uu" 

AT 

13, 

38 PUT 

State USING "uu" 

AT 

13, 

43 PUT 

"Zip:" WITH "L" 

AT 

13, 

48 GET 

Author.Zip NUM USING "nnnnn" 

AT 

13, 

48 PUT 

Author.Zip USING "nnnnn" 

AT 

15, 

6 PUT 

"Work Phone:" WITH "L" 

AT 

15, 

23 GET 

Author.Wphone NUM \ 




USING "(nnn) nnn-nnnn" 

AT 

15, 

23 PUT 

Author.Wphone \ 




USING "(nnn) nnn-nnnn" 

AT 

15, 

41 PUT 

"Home Phone:" WITH "L" 

AT 

15, 

53 GET 

Author.Hphone NUM \ 




USING "(nnn) nnn-nnnn" 

AT 

15, 

53 PUT 

Author.Hphone \ 




USING "(nnn) nnn-nnnn" 

AT 

17, 

6 PUT 

"Biography:" WITH "L" 

AT 

18, 

6 GET . 

Author.Bio STR 

AT 

18, 

6 PUT . 

Author.Bio 

ENDFORM 


A form is composed of a number of 
statements that provide the screen 
coordinates for text, prompts, and 
data. KMAN’s form system may be 
used to build menus, data entry 
screens, and some reports. 


nates for text, prompts, and data. Two 
typical forms are shown in figure 1. 

Note the similarity to a dBASE form 
(the AT key word can be replaced by an 
@ character). The PUT command writes 
to the screen. Control codes can be 
sent to the printer with the PUT com¬ 
mand using the CHR function. The GET 
command, together with GETFORM, 
reads input from the screen. Data can 
be displayed according to picture 
clauses and with what MDBS calls spe¬ 
cial effects: low intensity, blinking, 
reverse video, or sounding a bell when 
the cursor enters the field. In figure 1, 
the phrase WITH “L” causes the value 
to be displayed in low intensity. Addi¬ 


tionally, rectangular blocks of color can 
be defined by giving the northeast and 
southwest coordinates. 

After the constant fields of a form 
are displayed with PUTFORM, the TALLY 
command can be used to fill in the 
values of data items. After input is 
entered, TALLY recalculates values that 
are dependent on screen input. If the 
environment variable E.ICOM is set to 
TRUE, values are recalculated automati¬ 
cally as input is entered. 

Several forms can be on the screen 
simultaneously, and multiple tables can 
be accessed within a form, but only one 
record from each table can be dis¬ 
played at a time. This simplifies the 
challenge of updating multiple tables 
with what appears to be a single screen. 

PICTURE EDITING 

Most of KMAN’s automatic editing is de¬ 
rived from the definition of the picture 
for a data item. A picture is a sequence 
of characters that provides a mask for 
data I/O. Typically, pictures are defined 
in USING clauses. A field variable can 
be given a default picture when the 
data table is defined. Any later picture 
that is given in the GET and PUT com¬ 
mands for a form temporarily overrides 
the default value. 

With pictures, data can be shifted 
automatically, upon input, to upper- or 
lowercase or, perhaps, to leading caps 
only. Data elements that usually have 
special formatting characters can be 
stored without those characters to con¬ 
serve space; the special characters are 
added only when the data are dis¬ 
played. For example, a phone number 
displayed as (404) 555-1212 is actually 
stored as 4045551212. The phrase to 
create the appropriate output formatting 
or input mask on a screen is: 

... USING “(nnn) nnn-nnnn” 

The KMAN placeholders used in 
defining a picture follow: 
a —any alphabetic character 
c—any alphanumeric character 
1—any ASCII character; uppercase 
alphabetic characters are con¬ 
verted to lowercase 
u—any ASCII character; lowercase 
alphabetic characters are con¬ 
verted to uppercase 
r—any ASCII character; no case 
conversion 
n—any digit 

d —a digit, sign (+ or -), or deci¬ 
mal point 

f—behaves like d, except that literal 
characters to the left of the first f 
float to the right until a non-f 
placeholder is encountered; this 


Instant-C: 
The Fastest 
Interpreter for C 

Runs your programs 50 
to 500 times faster than 
any other C language 
interpreter. 

A ny C interpreter can save you compile 
Land link time when developing your 
programs. But only Instant-C saves 
your time by running your program at 
compiled-code speed. 

Fastest Development. A program 
that runs in one second when compiled 
with an optimizing compiler runs in 
two or three seconds with Instant-C. 
Other interpreters will run the same 
program in two minutes. Or even ten 
minutes. Don’t trade slow compiling 
and linking for slow testing and debug¬ 
ging. Only Instant-C will let you edit, 
test, and debug at the fastest possible 
speeds. 

Fastest Testing. Instant-C immedi¬ 
ately executes any C expression, state¬ 
ment, or function call, and display the 
results. Learn C, or test your programs 
faster than ever before. 

Fastest Debugging. Instant-C gives 
you the best source-level debugger for 
C. Single-step by source statement, or 
set any number of conditional break¬ 
points throughout your program. Errors 
always show the source statements 
involved. Once you find the problem, 
test the correction in seconds. 

Fastest Programming. Instant-C 

can directly generate executable files, 
supports full K & R standard C, comes 
with complete library source, and works 
under PC-D0S, MS-DOS, or CP/M-86. 
Instant-C gives you working well- 
tested programs faster than any other 
programming tool. Satisfaction guar¬ 
anteed, or your money back in first 
31 days. Instant-C is $495. 

Rational 

Systems, Inc. 

P.0. Box 480 
Natick, MA 01760 
(617)653-6194 


CIRCLE NO. 181 ON READER SERVICE CARD 

169 


JUNE 1986 













KMAN 


placeholder is used to position a 
dollar sign in front of the first 
significant digit of a number 
s —behaves like d, except literal charac¬ 
ters (other than decimal point) that 
appear between the first and last s 
of the picture are replaced with 
blanks if a digit does not appear on 
both sides 

Placeholders must be in lowercase. Any 
other characters in a picture are 
assumed to be constants. The place¬ 
holder characters can be used as con¬ 
stants by prefixing them with two back¬ 
slashes. The % symbol followed by a 
count may be substituted for a se¬ 
quence of identical placeholders. For 
example, % 5u and uuuuu would create 
the same data picture. 

Notice that a limited amount of 
editing is done automatically, such as 
restricting input to digits or alphabetic 
characters. The u and 1 features make 
testing for lower- or uppercase answers 
to a prompt unnecessary. Range check¬ 
ing, verification of the input against lists 
of valid values, and the use of look-up 
tables must be accomplished with pro¬ 
gramming. For example, the clause 
USING “nn” restricts input to two digits, 
but it does not control which two digits. 

Additionally, with programming 
and special effects, the display attributes 


can be varied depending on the value 
of the data. For example, code can be 
written to determine if a variable has a 
positive or negative value; then the vari¬ 
able might be displayed in green if 
positive or red if negative. 

checking, verifica¬ 
tion of the input against lists 
of valid values, and the use 
of look-up tables must be 
done with programming. 


K-Paint is a utility that, as its name 
implies, allows the user to paint a 
screen interactively (with or without a 
mouse). This is convenient for large, 
complicated jobs, especially when the 
general screen/menu style of a given 
application is repetitive. K-Paint gener¬ 
ates an .IPF file that includes the FORM, 
ENDFORM, AT xy, GET, and PUT 
clauses. It does no automatic program¬ 
ming. Range checking, linking forms to¬ 
gether, and manipulating data within 
the form are up to the programmer. 


When PAINT (form name) is 
invoked from KMANs command line 
prompt, the screen is cleared except for 
a two-line menu/status area at the bot¬ 
tom. The menu choices in themselves 
create a logical approach to screen de¬ 
sign. The first choice is whether to 
work on a color block or an element. If 
color block is selected, the user is in¬ 
structed to put the cursor in the north¬ 
west corner of the block (screen area), 
press Enter, move the cursor to the 
southeast corner, press Enter again, and 
then select foreground and background 
colors from a list on the command line. 
If element is selected, the user is in¬ 
structed to move the cursor to the be¬ 
ginning of the element (on the screen) 
and to choose literal or nonliteral. For 
literal, the program prompts the user to 
type the literal—perhaps a prompt such 
as “Enter your first name” The com¬ 
mand line then asks for attributes for 
the literal, such as blinking, low inten¬ 
sity, or a bell that is to be sounded 
when the literal is displayed. 

A user who elects to work on a 
nonliteral is requested to identify a vari¬ 
able or an expression and to assign it a 
location and attributes. The user contin¬ 
ues in this manner, identifying literals, 
nonliteral expressions, and their loca¬ 
tions and attributes until the form is 



The Model TC-50 V^-inch tape subsystem provides a 
standard medium for transmission of mainframe data base 
information to PC users, while maintaining mainframe 
isolation and data integrity. Use ODI subsystems to import 
data to data base programs like dBase III. 

The TC-50 subsystem also provides fast back-up capability 
as well as a device driver 
and interface soft¬ 
ware for popular 
compilers. 

The TC-50 subsystem 
includes tape drive con¬ 
troller, cables and docu¬ 
mentation. All ODI 
products carry a 30 day 
unconditional money-back 
guarantee, and are war¬ 
ranted for one year, 
parts and labor. 


Overland Data, Inc. 

5644 Kearny Mesa Road 
San Diego, CA 92111 
Tel. (619) 571-5555 
Telex 754923 OVERLAND 


Also Available- 
XENIX tape 
subsystems 
for the 
IBM AT 


CIRCLE NO. 185 ON READER SERVICE CARD 



PC <0 [> MAINFRAME 

VIA 9-TRACK TAPE 


For Information Interchange — Backup 
Archival Storage ... 


IBM format compatible 9-track, Vfc inch magnetic tape is the universally 
accepted media for mainframes and minicomputers. Now Catamount 
offers Low Cost, Lightweight 9-track Tape Subsystems for the IBM-PC/XT/ 
AT computers which allow: 

• Reading tapes generated on mainframes and minicomputers. 

• Writing tapes to be read on mainframes and minis. 

• ASCII, EBCDIC and Binary tapes accommodated. 

• 800 bpi NRZI, 1600/3200 bpi PE, and 6250 bpi GCR format systems 
available. 

• Storage capacities up to 180 MB on a single reel. 

Systems come complete with comprehensive DOS command syntax 
oriented software and an Installable Device Driver. For OEM applications, 
the tape controller is available separately. 

Catamount 

Corporation _ 

2243 Agate Ct. • Simi Valley, CA 
(805) 584-2233 

CIRCLE NO. Ill ON READER SERVICE CARD 

PC TECH JOURNAL 



170 















Get up to speed 
for under 
a hundred bucks* 



If you’re writing in the BASIC that 
came with your IBM® PC, now you 
can make your programs scream. 
Microsoft’s new QuickBASIC Com- 
piler will punch you right into warp 
speed, accelerating your programs by 
as much as ten times. And all with 
hardly any code changes. 

You get all this at a price that won’t 
slow you down, either. Just $99 and 
you’re in. 

The new QuickBASIC Compiler 
was designed to work with the 


CIRCLE, PSET, and COLOR. 

So your graphics and music routines 
will look and sound as they should. 

And when you’re ready to move 
into structured programming, Quick' 
BASIC also offers language extensions 
for a speedy transition. With optional 
alphanumeric labels you can make 
your programs more readable. And 
compiled subprograms will save 
you time. 

So get moving. MICROSOFT, 

Lv3.il US HOW for The High Performance Software™ 

more information on the QuickBASIC 
Compiler and the name of your 
nearest Microsoft dealer. Just ring 
(800) 426-9400. In Washington State 
and Alaska, (206) 882-8088. In Canada, 
call (416) 673-7638. 

Then go give your programs a 
swift kick. 


programs you’ve already written. It 
supports all BASIC sound and graphic 
statements including PLAY SOUND, 
LOCATE, DRAW GET, PUT, LINE, 












2.5 A DBMS REWLUTION 


Power 

ZIM's high-level language lets you build user commands which 
implement applications without the necessity and cost of additional 
programming tools. ZIM's forms facility and extensive report 
generator permit completely menu-driven applications. Completed 
compiled, applications use the Runtime System, leading to fast 
execution, preventing unauthorized access or modifications, and 
decreasing cost and memory requirements. 

Flexibility 

ZIM gives you unprecedented simplicity and flexibility. ZIM 
commands parallel simple English sentences, making it easy to 
learn and use. Other features include automatic updates of all 
indexes, multi-user support, and an extensive range of validation, 
editing and masking facilities. ZIM's limits are only those of your 
hardware, operating system and imagination. And with ZIM 2.5, 
your database is no longer limited to a single hard disk. 


Have you been looking for perfect data management that you can 
enjoy on your own terms? Then you've probably already heard of 
ZIM 2.4 — the most powerful database system available. Until now. 
Because ZIM 2.5 is here. 


ZIM 2.5 is a fourth generation application development tool which 
makes it possible to expand the capabilities of your micro beyond 
what you've ever imagined. ZIM mirrors the complexities of the 
real world by letting you develop as many and as varied 
applications as you could possibly need. 

"ZIM is... a successful migration of mainframe ideas and needs to a 
micro. (ZIM) proves not only that the job can be done but also that 
it can be done well. ZIM provides a reference against which current 
and future data bases can be judged." James Creane, Data Based 
Advisor/July 1985. 

Speed 

ZIM breaks the speed limit — between 3 and 50 times faster than 
industry leaders in sorting and joining files within the data-base. 
ZIM's internal architecture, and the implementation of its strategy 
analyzer and priority-driven buffering ability, ensure that data is 
processed in the most efficient manner possible. 

Portability 

ZIM is the only database management system with 100% BSp 
application portability for single-user and multi-user ^ 

configurations. ZIM is available under PC-DOS, & 

Concurrent PC-DOS, UNIX, XENIX, and QNX. JL 

Never again will you be required to re-write 
your applications for different operating systems\ m 
environments. \ W/Km ll 


"ZIM is (a) well-conceivedsoundly-implemented , 
thoroughly professional system. Its design evidences a 
strong commitment to consistency and to the goal 
of natural nonprocedural user interaction." 


Richard M. Foard, PC Tech Journal, 
October 1985. 


ZIM 2.5 — DATA 
MANAGEMENT AT 
ITS BEST 


38Antares Dr., Suite 1200 
Nepean, Ontario, Canada 

K2E 7V2 7ANTHF 

(613) 727-1397 I lit 

INFORMATION INC 
CIRCLE NO. 219 ON READER SERVICE CARD 

















KMAN 


completed and ready for use. Color 
blocks and elements can be moved 
around the form easily. 

Forms can be as large as 255 lines 
by 255 columns. When the K-Paint user 
moves the cursor outside the screens 
viewing window, the window is shifted 
automatically to the previously invisible 
part of the form. 

VARIETY OF REPORTS 

One way to generate a report is to 
create a form (with or without the 
K-Paint module). The simplest type of 
report is generated with the LIST, 
SELECT, OBTAIN, or CONVERT com¬ 
mands. Any one of these can direct the 
output to the printer, screen, or disk as 
desired by the user. However, KMAN 
provides several other ways of generat¬ 
ing reports of varying complexity. 

The LIST and SELECT commands 
provide a columnar listing of held and 
expression values for each record in 
one or more data tables that meet the 
selection criteria. Utility variables can 
be used to create a header for the re¬ 
port and to replace held names with 
more descriptive heads above each col¬ 
umn in the listing. Environment vari¬ 
ables control page ejects, pagination, 
margins, and printer start/stop control 
sequences. LIST and SELECT cause auto¬ 


matic wrapping if columnar output ex¬ 
ceeds the margin values that are set in 
the environment variables. 

If the environment variable E.STAT 
is set to TRUE, statistics on the report’s 
columns are generated automatically. 
The statistics listing for string expres¬ 
sions shows the count and minimum 
and maximum values. Statistics for each 
numeric expression include count, sum, 
average, minimum, maximum, variance, 
and standard deviation. The only statis¬ 
tic given for logical expressions is the 
count. Environment variables can be 
used to turn off all statistics or individ¬ 
ual items in the statistics list. (The STAT 
command is discussed later.) 

OBTAIN provides a simple listing 
of selected held variables belonging to 
a single record. This command or the 
KMAN form with some programming 
can be used to produce the one-page- 
per-record type of report. 

CONVERT can be used for report 
generation in programmed applications 
to produce one or more lines of data in 
ASCII format from records that meet 
certain criteria. One of the main appli¬ 
cations of this command is to create 
mailing list output to the printer. 

Yet another way of creating a 
report with KMAN is to use the LIST, 
SELECT, OBTAIN, or CONVERT state¬ 


ments together with programming lan¬ 
guage elements. This produces a report¬ 
making program that typically selects a 
record meeting certain criteria, outputs 
data to be printed, and keeps track of 
subtotals and totals for later printing. 
Such a program usually includes a page 
numbering routine and generates its 
own headers and footers. This type of 
report generation must be used if more 
than one table is queried and a many- 
to-many relation exists between the 
table elements. 

KMAN provides an optional utility 
called K-Report that saves time in de¬ 
signing complex reports, although the 
reports have to be quite complicated 
before much time saving is realized. 
This is the case primarily because 
K-Report (as of this writing) suffers 
from several bugs. KMAN version 2.0 
uses an entirely different screen-han¬ 
dling routine than did earlier versions, 
and K-Report has not yet caught up with 
the changes. Its column counter is not 
always correctly incremented. Like 
K-Paint, K-Report handles reports larger 
than can be displayed at one time. 
However, as the user scrolls to another 
viewing area, the screen image often is 
corrupted. Positioning to the northwest 
corner and repainting the screen is nec¬ 
essary to restore the correct image. 


VT100/VT52 & Tektronix™ 
4010/4014 Terminal Emulator 

Excellent emulation and the features you want: 



-» use 4096 x 3120 resolution 
-* zoom, pan, and window plots 
high resolution printer dumps 
choose text and plot color 
-* transfer files with 
XMODEM and Kermit protocols 
-» scroll last 4 pages of text 
132 column VT100 capability 


-*■ 18 User-definable keys 

-*■ capture plots and text on disk 

-> full or half duplex 

access to DOS commands 
-> all VT100 keypad commands 
command line editing 
fast direct screen access 
password security 


VTEK makes your PC better than a terminal 
$150 from Scientific Endeavors 


Publication Quality Graphics for 
Scientific and Technical Applications 


□l 

? U 

Us 


EL 

ID 

L 


U 


-> linear, log, & polar plots 
-> bar charts & Smith charts 
•» contour plots with labels 
-» 3-D curves, 3-D surfaces 
with hidden line removal 
-> 4 curve types, 8 markers 
14 fonts, font editor 


-*■ multiple levels of |JJg ,r scripts 
-* 4096 x 312D resolution 
-* zoom, pan, window plots 
-> multiple plots on a page 
-*• high resolution printer 
dumps, full or half page 
-* plotter support in COLOR 


16 color plots on EGA, Sigma, TeleVideo & Tecmar boards 


Over 100 routines can be called by your 
C program. $350. Demo $8. 

SOURCE INCLUDED for private use only. 

For DeSmet, 086, Aztec, Lattice, and Microsoft C compilers. 

Scientific Endeavors 



Route 4, Box 79; Kingston, TN 37763 
[615] 376-4146 

For 256k IBM and Corona PCs, DOS 2.xx,3.xx. 
Epson, Okidata, Toshiba, C. Itoh printers. 
Hewlett Packard, Houston, Sweet-P plotters. 
Corona Laser printer. IBM, IBM EGA, Sigma, 
TeleVideo, Tecmar, Hercules, Corona graphics. 
A compatible assembler is required. 

THIS AD WAS MADE USING Graphic™ 


CIRCLE NO. 187 ON READER SERVICE CARD 



j(M7‘ 


1930 PARK FOREST AVENUE 
P 0 BOX 906 

STATE COLLEGE. PA 16804 
(814) 234 -8087 


CIRCLE NO. 165 ON READER SERVICE CARD 


Real Time Devices' GP100 is aTpTl| capability GPIB (IEEE 
488) interface for the IBM® PC That includes high-speed 
software for the single quantity^price of $299. 

• Over 40 high and low level GPIB commands 

• Fast assembly language extensions to BASIC 
•DMA and interrupt capability 
•Comprehensive tutorial/instruction manual 

• No hidden software, cabling, or documentation charges 
•Supports up to 15 devices 

• FORTRAN, PASCAL, and FORTH extensions available 


Even if you're not familiar with GPIB interfacing, the GP100 
will have you controlling this powerful bus in no time at all, 
allowing you to focus on your application requirements. 

So if you've been intimidated by the complexity or cost of 
other GPIB implementations for the IBM PC call on us to 
help — you'll be pleasantly surprised. 

Real Time Devices, Inc. 


JUNE 1986 


173 














KMAN 


MDBS is working on fixes for K-Report 
and is considering a report generation 
language because it has been requested 
by many users. 

Another problem with K-Report is 
that it cannot handle many-to-many 
relations among tables. Output in a 
situation involving many-to-many re¬ 
lations can be programmed so it is di¬ 
rected into a temporary KMAN data 
table. Once this is finished the user can 
forget about relations and use K-Report 
in order to generate a report from the 
temporary table. 


K-Report looks like and is used in 
the same manner as K-Paint. K-Report is 
invoked by the command DESIGN 
<report name>. The user begins with 
a blank screen that has only a menu/ 
status area at the bottom. The choices 
are to work on a detail pattern or head¬ 
ers and footers for a group, page, or 
report. By following the prompts, these 
patterns are developed into an on¬ 
screen template that is used by the sys¬ 
tem to generate reports. 

After the template is designed, 
template data are kept in a hie called 


ReportName.TPL. Reports are generated 
with the command: 

REPORT “template filename” selection 
criteria 

The selection criteria phrase is similar 
in syntax to LIST or SELECT. 

Eleven levels of grouping are per¬ 
mitted in templates. Pagination is auto¬ 
matic with page numbers appearing in 
page headers or footers as desired. 
Therefore, K-Report is particularly good 
at a report that has, for example, 
company, division, and office headers 
followed by employee detail records. 
Subtotals can be calculated by office 
and division, and company totals given. 
Here, the level depth is only four. 

DATA SECURITY 

KMAN’s security is among the best in its 
class. Data can be secured from read or 
write access by table or held variable. 
When a table or held is dehned, it may 
be given any combination of 16 read 
and 16 write access codes. Users also 
may be assigned any combination of 16 
read and 16 write access codes by the 
USRMAN utility. A table can be accessed 
only if a user’s access code matches one 
of the table’s. A user may access a held 
only when one of the held’s access 
codes matches one of the user’s. 

A user who is denied access to a 
held that is later used in an expression 
also is denied access to the results of 
the expression. For example, a user 
who is denied access to the Salary held 
in the Author table is automatically de¬ 
nied access to the virtual held Monsal 
as well, because it is calculated using 
the Salary held. Spreadsheet cells can 
be protected against modihcation. This 
is a blanket restriction and not based 
on user access code. 

When KMAN hrst appeared on the 
market in May 1983, it was criticized for 
being “user hostile.” The initial docu¬ 
mentation, while more or less com¬ 
plete, was absolutely sterile and as¬ 
sumed that the user understood (1) the 
theory of relational databases; (2) the 
theory of structured programming; and 
(3) the design intentions of MDBS. 

KMAN revisions 1.04 through 1.07 
were largely concentrated on getting all 
of KMAN’s features working in concert. 
Version 2.0 (KMAN/2) is a plea for 
understanding and acceptance from the 
common man. Source code in perform 
hies created on earlier versions of the 
product is generally upwardly compat¬ 
ible, although some programmers have 
elected to rewrite some stretches of 
code, thus taking advantage of certain 
new functions and constructs. 


Tools for the Programmer 
from Blaise Computing 


Save Up To $130 On These Special Offers! 

TOOLS & TOOLS 2 

i For C or Pascal 

j For a limited time, pick up both packages and 
i save $50 off our regular list price. The C version 
I comes with libraries tor the Lattice, Computer 
| Innovations and Microsoft (version 2.03 and 


3.00) compilers. The Pascal version supports \ 
IBM and Microsoft Pascal. $ 175 . 


VIEW MANAGER With Source 

All libraries are included. Please specify C or 1 
Pascal. Regular $425. Save $130. $ 295 1 


B laise Computing provides a broad range of fine programming tools for Pascal and C pro¬ 
grammers, with libraries designed and engineered for the serious software developer. You get clearly 
written code that's fully commented so that it can serve both as a model and also be easily modified 
to grow with your changing needs. Our packages are shipped to you complete with comprehensive 
manuals, sample programs and source code. 

None of the programs are copy-protected. 


FOR C AND PASCAL PROGRAMMERS: 


TOOLS <>$125 

Extensive sfring and screen handling, graphics interface 
and easy creation of program interfaces, includes all 
source code. 

TOOLS 2<>$100 

Memory management, general program control and DOS 
file support.Interrupt service routine support, includesali 
source code. 

VIEW MANAGER 0$275 

General screen management. Create data entry screens 
that can be easily manipulated from your application 
program. Block mode data entry and retrieval with fast 
screen access. 

VIEW UBRARY Source 0 $150 

Source code to the VIEW MANAGER library functions. 
ASYNCH MANAGER <>$175 

Powerful asynchronous communications library provid¬ 
ing interrupt driven support for the COM ports. All source 
code included. 


FOR THE TURBO PASCAL PROGRAMMER: 


Turbo POWER TOOLS 0 $99-95 

Extensive string support, extended screen and window 
management, interrupt service routines, program control 
and memory management, interrupt filters. All source 
code included 

Turbo ASYNCH 0 $99.05 

interrupt driven asynchronous communication support 
callable from Turbo Pascal. ASYNCH is written in assem¬ 
bler and 'Turbo Pascal with all source code included. 


PACKAGES FOR ALL PROGRAMMERS: 


EXECO$95 

] Program chaining executive. Chain one program from 
another even if the programs are in different languages. 
Common data area can be specified. Source code 
included if you're a registered C TOOLS and C TOOLS 
2 user. 

SPARKY 0 $75 

Run-time resident (or stand-alone) scientific, fully pro¬ 
grammable, reverse polish notation calculator. No limit 
Ion stack size, variables or tape, includes all standard sci¬ 
entific functions and different base arithmetic. 


TO ORDER, call Blaise Computing Inc. at (415) 540- 

♦ 2034 Blake Street ♦ Berkeley, CA 94704 ♦ (415) 540-5441 < 






CIRCLE NO. 114 ON READER SERVICE CARD 


174 


PC TECH JOURNAL 


















Powerful MS-DOS Software. 

For the IBM®-PC, XT, AT & others with generic MS-DOS/PC-DOS 2.0 or higher. 



UTAH UTAH 

COBOL FORTRAN 


Whether student, teacher or professional programmer, 
this is the one you’ve heard so much about. 

□ It’s easy to use. Compiles 5000 statements on a 128K 
machine. 

□ 170 clear error messages, i.e. DATA-NAME IS 
MISSING OR MISSPELLED. 

□ Distribute your object code programs royalty free. 

□ Small object code programs conserve disk space. 

□ Fast compile times to increase programmer pro¬ 
ductivity. Over 25 times faster than one compiler 
costing $995! 

□ You get a diskette and 213-page manual with lots of 
examples and 16 complete COBOL source code 
programs. $39.95. 

Also available: COBOL Application Packages, Book 1 $9.95. 

UTAH 

PASCAL 

□ 14-digit precision, BCD math, no round-off errors 

with decimal arithmetic for business and floating point + 63 
-64 for scientific. 

□ A very nice TRACE style debugging. 

□ Arrays up to 8 dimensions and 64K strings. 

□ External procedures and functions with dynamic 
auto-loading. 

□ One-step compile, no assembly or link required. 

□ You get a 132-page manual and diskette. $39.95 

UTAH 

PILOT ~ 

□ Perfect for industrial training, office training, drill 
and testing, virtually all programmed instruction, word 
puzzle games, and data entry facilitated by prompts. 

□ John Starkweather, Ph.D., the inventor of the PILOT 
language, has added a built-in full-screen text editor, 
and much more. 

□ Meets all PILOT-73 standards for full compatibility with 
older versions. 

□ You get a diskette, 125-page manual and ten useful 
sample programs. $39.95. 

Also still available for 8-bit machines with CP/M® is our world famous 
Nevada Software Series used by 50,000 customers in 40 countries. 

These include Nevada COBOL, Nevada FORTRAN, Nevada PASCAL, 
Nevada PILOT, Nevada BASIC and Nevada EDIT. $39.95 each. 

Satisfaction guaranteed. If for any reason you’re not completely 
satisfied, just return the package within 15 days in good condition, and 
we’ll refund your money. 

IBM is a registered trademark of International Business Machines Corp. 
CP/M is a registered trademark of Digital Research. MS is a trademark 
of Microsoft Corp. © 1985 Ellis Computing, Inc. 


□ FORTRAN IV based upon ANSI-66 standards. 

□ Very fast compile times and easy to use. 

□ IF .. THEN .. ELSE constructs. 

□ Chaining with blank and named common. 

□ Copy statement. 

□ ENCODE and DECODE. 

□ Free-format input and output. 

□ A very nice TRACE style debugging. 

□ 150 English language error messages. 

□ You get a diskette, and 223-page manual. $39.95 


UTAH 

EDIT 

□ A character-oriented full-screen video display text 
editor designed specifically to create COBOL, 

FORTRAN and PASCAL programs. 

□ Only requires 15K disk space so it can fit on the 
same disk as your compilers. 

□ Completely customizable tab stops, default file 
type, keyboard control key layout and CRT by menu 
selection. 

□ Diskette comes with easy to read 58-page manual. $39.95. 

UTAH 

BASIC' 

□ This interpreter has a built-in full-screen editor. 

□ Single- and Multi-line user definable functions. 

□ BCD Math-no round-off errors. 

□ Full Matrix operations. 

□ You get 220-page manual and diskette. $39.95. 

Handling/Shipping: No shipping charge within US. Overseas 
add $10 for first package, $5 each additional. Checks must be 
in US Dollars, drawn on a US bank. 

Utah Software requires 128K RAM and PC-DOS or MS-DOS 2.0 or higher. 

HOW TO ORDER. Send check or money order to Ellis Computing, Inc. 
with VISA or MASTERCARD order by phone. Sorry no COD’s. 



Ellis Computing, Inc. 

5655 Riggins Court, Suite 10 
Reno, Nevada 89502 
Phone (702) 827-3030 


SINCE 1977 


ELLIS COMPUTING" 


CIRCLE NO. 170 ON READER SERVICE CARD 





BEFORE YOU BUY ANYTHING 
FOR YOUR IBM PC, 

CONSULT „ 
THE EXPERT#!?*/ 


Software, hardware and accessories are 
not purchased on impulse. With so many 
products introduced on the market, it’s 
necessary to have the most current 
reference source available to assist you 
in making smart buying decisions— 

That’s why you should comparison 
shop with PC BUYERS GUIDE! 

PC BUYERS GUIDE is the master 
directory of products for IBM and com¬ 
patible personal computers. It’s more 
than 500 pages include listings for over 
10,000 products, organized in one 
easy-to-use, comprehensive guide. 

Discover what’s available, suitable 
and affordable in software, hardware 
and peripherals for your IBM PC, PCXT, 

PC AT, PCjr and compatible personal 
computer. 

Updated and published quarterly, 

PC BUYERS GUIDE is a veritable encyclo¬ 
pedia of data incorporating the newest 


releases and providing accurate prod¬ 
uct descriptions and costs—PLUS 
PC BUYERS GUIDE is cross-indexed and 
categorized so you can easily locate any 
listing! 

Compiled by Data Sources, the most 
extensive database maintained in the 
entire marketplace, PC BUYERS GUIDE 
guarantees you the most current reference 
sourcebook of its kind! 

Order your copy today! 

To order your copy of the most recent 
edition complete the coupon below, 
enclose payment and mail! 


T 


T 


Mail to: 


PC BUYERS GUIDE 


Ziff-Davis, One Park Avenue, 4th Floor, 
New York, NY 10016, K. Armstrong 


Enclosed is my check or money order for $9.45 ($7.95* plus $1.50 for postage and handling) for each 

copy. (Price outside U.S. $11.00) Enclosed is $_1_Please send_copies of the 

latest edition of PC BUYERS GUIDE. 

Mr. / Mrs. / Ms_____ 


Address_ 


City/State/Zip_ 


•Residents of CA, CO, CT, DC, FL, IL, MA, Ml, MD, NJ, NY State, and VT add applicable sales tax. 












KMAN 


PHOTO 1: KMAN Menu Interface 







Select operator.’ 

STATE 


Up 

Eni ~ Enter Resp< nse 

A X ~ $c*m 

Esc - Previous fie mi 

~ Go to lop 

*C ~ Ha in fie mi 

L - Enter^Exit Help 


ffoi Equal 
Greater I hm\ 

Greater Thaw or Equal 

Le s s T hm 

Less than or Equal 


KMAN/2 introduced a menu interface for the novice user. The series of menus and 
prompts takes a user step by step through building a command or query. 


Documentation used to be one of 
KMAN’s weakest points. With version 
2.0, however, documentation—both 
printed and on-line—is one of its real 
strengths. The original documentation, 
consisting of a single, four-inch thick, 
8^-by-l 1-inch, three-ring binder, has 
been replaced with two volumes (of the 
standard IBM manual size and type) of 
typeset material. The Reference Manual 
is simply a reprint of the old documen¬ 
tation, meant for users of the earlier 
versions. The additional User's Guide is 
tutorial and presents the capabilities of 
KMAN in an understandable way. 


More important, KMAN now has 
extensive on-screen help available both 
in context-sensitive text and in a new 
menu interface. The applications 
designer can elect to enable or disable 
the help and pull-down menus; a new¬ 
comer to KMAN, however, will want to 
start with the menu interface in place. 

The menus take the user sequen¬ 
tially through the decision process to 
get a task done. The menu interface 
divides the screen into five areas as 
shown in photo 1. The area in the 
upper left corner tracks the path the 
user takes to get to a particular stage. As 


a selection is made from each menu, it 
is printed on the top line, and a new 
menu is presented in front of the old. 
The utility area on the right is used to 
provide a guide to function keys and to 
display available options. The message 
area in the lower left is used to display 
prompts to the user; below that are the 
user entry area for text (not shown in 
the photo) and the command area, 
which holds the KMAN command built 
through the selection of menu choices. 

Photo 1 captures a step in building 
the query of the Author table for all 
authors who live in California. The 
menu selections made were Data Man¬ 
agement, View Data, List Many Records, 
Set Condition, New Condition, and 
Build Condition. Then a menu of held 
names was presented in the utility area 
from which the held STATE was chosen. 
The next step would be to choose the 
condition the State held must meet. In 
this way, a query is built step by step 
until it is ready to be executed. 

REAL WORLD KMAN 

The editors at PC Tech Journal speci¬ 
fied an application for this series of data 
manager reviews, which includes some 
ad hoc queries, reports, and perform¬ 
ance benchmarks. The application is a 
magazine inventory management sys¬ 
tem—a set of routines that tracks ar¬ 
ticles, authors, and magazine issues. 

For the KMAN programmer, the 
sample application presents an interest¬ 
ing challenge—not so much how to do 
it, but where to stop. Nearly all of the 
specihcations can be handled by KMAN 
with commands entered from the 
prompt in the KMAN environment. 


WHAT’S REALLY IN THAT FILE? 


FIND OUT WITH fijeMASTER 

THE DISK UTILITY THAT’S QUICK AND EASY TO USE 

NOT SURE WHAT’S THERE? fileMASTER offers the power needed to look 
over afile quickly (it’s written in Assembler). You can rapidlyjumptotheend, 
back to the beginning, or to anywhere in between. It’s fast enough to easily 
browse all the sectors in a file, and the Hex/ASCI I display shows you exactly 
what’s there - byte for byte. 

CAN’T FIND THE DATA? fileMASTER can scan for character patterns in 
either Hex or ASCII. 

IS IT WRONG? Fix it with fileMASTER’s full screen editor that operates in 
either Hex or ASCII mode. 

NEED HARD COPY? Print either Hex/ASCII or plain ASCII formats. 

NOT IN A FILE? fileMASTER can handle the entire disk as if it were one big 
logical file. All functions operate on the whole disk just like a file. You can 
work with the Boot Record, FAT, Directory or any other data on your disk. 
HARD DISK? FLOPPY DISK? Yes, fileMASTER can handle any disk that DOS 
can. 

WHAT’S REQUIRED? IBM PC/XT/AT (or compatible). 

® $ 39.95 

ADD $3.00 SHIPPING — CA RESIDENTS ADD $2.60 SALES TAX 


Filename: saaple.txt Segment: 00000 

Offset U12345 6 789ABCDEF 01234S6789 ABCDEF 



[ 28 73 61 6D 7 
I 69 73 70 6C f 
) 46 61 63 68 2 
1 68 6F 77 6E 2 
) 41 4C 28 6F ( 
3 61 6E 64 28 ( 
3 74 68 69 73 2 
i 20 4F 66 66 2 
3 72 6F 76 69 f 
3 65 6£ 74 20 < 
5 67 6D 65 6E 2 
5 20 64 61 74 ( 
j 20 6F 76 65 2 
F 72 20 41 53 - 
3 20 28 20 20 2 
3 09 0A 0B 0C ( 


This is a sample 
of the Display 
Screen. Each 
byte is shown in 
HEXADECIMAL on 
the left and in 
A$ 51 I »n this 
area. The Offset 
values provide 
displacement in¬ 
to the segment. 
To change data, 
just type over 
the HEX or ASCII 
data. 


Values'. Hex=54 Bin= E 


2K1B2 Ascii 3nnn< H»t s um rTTn^Hi nm »nni' , l!CT 


J. L Schuller oUAmcjh 

Developers of Master Utilities _ 


(818) 366-6934 

14800 Rinaldi St., Suite 6A, Mission Hills, CA 91345 


JUNE 1986 


CIRCLE NO. 228 ON READER SERVICE CARD 


177 











































KMAN 


KMAN has no limits on the number of 
files that can be open simultaneously. 
Additionally it has no limit to the length 
of a command line, and all KMAN com¬ 
mands, variables, and control structures 
can be used at anytime, anywhere. The 
only possible impediment is KMAN’s 
inability to deal automatically with 
many-to-many relationships. 

What about input editing? A large 
part of that can be handled at the com¬ 
mand level as well. For example, many 
of the editing specifications require that 
a held contain only alpha or only num¬ 
eric characters or be a certain length. 

All of these requirements can be 
handled when the data table is defined 
by using picture clauses. In this case, 
data going into the table from any 
source (such as imported ASCII hie or 
BROWSE or CREATE from the prompt) 
are edited automatically. 

While this capability is a big help, 
it does not provide for range checks, 
checking for duplicate values, verifica¬ 
tion against lists of valid values, and 
required helds. In the sample applica¬ 
tion, entries in the hrst and last name 
helds are required for each author rec¬ 
ord. In the Article hie the Category held 
must contain one of four possible 
entries: Product Review, Technical Arti¬ 
cle, Department, or Tech Notebook. An¬ 


other requirement is that the State held 
in the Author table be a valid two-letter 
abbreviation (a table look-up). Similar 
requirements pop up elsewhere and re¬ 
quire custom programming. 

The most difficult problem with 
the sample application was accommo¬ 
dating multiple authors per article. Ulti¬ 
mately, a many-to-many relationship 
exists between authors and articles. In 
other words, each article may have one 
or many authors while each author may 
be responsible for one or many articles. 

Because any number of authors 
may be involved with an article, the 
question arises: why worry about 
authors in the Article table? Why not 
simply number the articles, number the 
authors, and create a new table that 
contains only article numbers matched 
to author numbers? 

Finding a unique author number is 
simple; the author’s Social Security 
Number can be used as the author 
number (Author.Ssn). Articles do not 
have Social Security Numbers, so a 
unique article number (Article.Artno) 
has to be assigned to each existing arti¬ 
cle, and new entries must automatically 
be assigned numbers. 

KMAN’s table manipulation facilities 
allow it to be used for the redesign of 
the data structures and the data ele¬ 


ments in the following way. First, the 
Author table is defined and loaded just 
as presented by the sample application. 
Then the Author table is redefined so 
that it includes a new numeric held 
(Article.Artno) to contain the unique 
article number. A routine entered at the 
KMAN prompt can number the existing 
articles (a one-time job): 

X = 1 

OBTAIN FIRST RECORD 
WHILE #FOUND AND NOT 
PASTEND( Article) 

LET Artno = x 
LET x = x + 1 
OBTAIN NEXT RECORD 
END WHILE 

Next, a new table is defined to con¬ 
tain the article/author relations (AutArt). 
Now, author Social Security Numbers 
can be converted from the Author table 
and article numbers from the Article 
table for loading into the AutArt table. 

Finally, four helds are removed 
from the Article hie: author last name, 
author hrst name, coauthor last name, 
and coauthor hrst name. This informa¬ 
tion is no longer needed in Article 
because AutArt now provides a path for 
programming a link between articles 
and authors (and in the other direction 
if the user desires). 



Real-Time Multitasking Executive 


■ No royalties 

■ Source code included 

■ Fault free operation 

■ Ideal for process control 

■ Timing control provided 

■ Low interrupt overhead 

■ Inter-task messages 


Options: 

■ Resource Manager 

■ Buffer Manager 

■ Integer Math Library 

■ Language Interfaces: 

C Pascal 
PL/M Fortran 

■ DOS File Access : 

CP/M-80 
IBM PC DOS 



AMX isTM of KADAK Products Ltd 
CP/M-80 is TM of Digital Research Corp. 
IBM, PC DOS areTM of IBM Corp, 


AMX for 8080 $ 800 US 

8086 950 

6809 950 

68000 1600 


Manual (specify processor) 75 


JL KADAK Products Ltd. < 6 ° 4 > 734-2796 

sk Telex: 04-55670 

206-1847 W. Broadway, Vancouver, B.C., Canada V6J1Y5 


CIRCLE NO. 112 ON READER SERVICE CARD 

178 


^ NEW! Vip 

WIZARd C 3.0 


• An improved optimizer. 

• Automatic register variable selection. 

• ANSI compatibility. 

• Smaller executable files. 

• Improved standard I/O performance. 

• Improved long integer operations. 

• Mixed model support (near and far). 

• Reorganized compiler passes. 

• Reorganized and expanded documentation. 

The following SIEVE benchmark was run without register variable declarations 
on an IBM PC with 640K memory and an 8087. 


Exec Time 

Wizard C 3.0 : 6.8 

Microsoft 3.0 :11.5 

Lattice 2.14 :11.8 


Code Size EXE Size 

130 7,662 

154 7,018 

164 20,068 


The new Wizard C version 3.0 sets new records for 
all out speed! 

(617) 641-2379 


When your project depends on that last 
ounce of speed , choose Wizard! 


\MF^rd 


Only $450. 


SYSTEMS SOFTWARE, INC. 

11 Willow Court, Arlington, MA 02174 


CIRCLE NO. 221 ON READER SERVICE CARD 



















































KNOWLEDGEMAN/2 OVERVIEW 


KNOWLEDGEMAN/2 

Micro Database Systems, Inc., P.O. 

Box 248, Lafayette, IN 47902; 
317/463-2581 

Product description. KnowledgeMan/2 is 
an applications development system 
with a relational database system, a 
structured programming language, an 
SQL-like query language, and an inte¬ 
grated spreadsheet. The product can 
be expanded modularly to include 
business graphics (K-Graph), text pro¬ 
cessing (K-Text), report generation 
(K-Report), interactive forms design 
(K-Paint), mouse support (K-Mouse), C 
language interface (K-C), and commu¬ 
nications (K-Comm). 

IBM PC environment. KnowledgeMan/2 
runs on any IBM PC family computer 
running under DOS with 320KB mem¬ 
ory. A hard disk is recommended but 
not required. The availability of 1MB 
of disk storage also is recommended. 
The product runs with Windows, 
DesQ, GEM, or TopView. 

Other environments. The multiuser 
version runs under UNIX on VAX-11 
series computers, as well as under the 
CP/M-86 operating system. 

Network support. Networks supported 
include Novell’s NetWare, 3-Com’s 
EtherShare, and the IBM PC Network. 
Copyprotection. KnowledgeMan/2 is 
not copy protected. 

Documentation. Extensive documenta¬ 
tion is provided for the novice in the 
tutorial User's Guide and for the 
advanced user in the Reference Guide. 
Each optional module comes with its 
own documentation and section tab 
designed to be inserted into the exist¬ 
ing IBM-size volumes. 

User interface. KnowledgeMan/2 intro¬ 
duces a new menu interface with 
prompts that guides the novice 
through the process of building com¬ 
mands or queries. This interface may 
be disabled, allowing the advanced 
user access to the interactive com¬ 
mand mode. Macros can be defined to 
facilitate repetitive execution of long 
commands or to make Knowledge¬ 
Man/2 programs more readable. 

Help facilities. Comprehensive general 
and context-sensitive help is available 
on-line. Optionally, upon detection of 
a syntax error, KnowledgeMan/2 dis¬ 
plays the error message and offers the 
user further help. 

File capacities. File capacities are 
virtually unlimited. The maximum 



number of files in a database and the 
maximum number of tables open si¬ 
multaneously is limited only by the 
operating system. An unlimited num¬ 
ber of index keys per table are al¬ 
lowed with a maximum size of 63,333 
characters per key and 65,535 fields 
per index. The maximum number of 
records per file is 2,147,483,647, with 
255 fields per record up to 65,535 
characters combined. 

Field types and capacities. Fields can be 
defined to be one of four types: string 
(STR) with up to 65,534 characters, 
numeric (NUM) with 14-digit accuracy, 
integer (INT) with up to 14 digits, or 
logical (LOGIC). The use of arrays is 
not supported for fields. 

Data entry. Data pictures can be speci¬ 
fied for fields when the table is de¬ 
fined and overridden by another pic¬ 
ture in a data entry form. These pic¬ 
tures are effective for limited editing, 
such as restricting input to numeric or 
alphabetic characters only. More ex¬ 
tensive editing for default values, table 
look-ups, range of values, and re¬ 
quired fields must be programmed. 
Application development facilities. The 
programming language features ele¬ 
ments such as looping blocks, nested 
procedures to an unlimited depth 
with parameter passing, and global 
and local variables. An unlimited num¬ 
ber of working variables is supported, 
and working variables can be arrays. 
Command lines and procedures can 
be any length. Functions are available 
for numeric calculations and string 
processing. Environment and utility 
variables can be set to control formats 
and configure output. Some utility 
variables hold status information 
reflecting current database activity. 
Data can be moved easily between 
tables and spreadsheets. 

Security. Access to tables and to fields 
is handled through read and write ac¬ 


cess codes matched to those assigned 
to users. Spreadsheet cells can be 
write-protected. Tables are automati¬ 
cally encrypted, and a system utility, 
provided with the runtime module, is 
used to encrypt procedure hies. 

Access to system facilities. The DOS 
command processor can be invoked 
either for one command or for execu¬ 
tion of an external program. Knowl- 
edgeMan commands are available for 
directory listings as well as for hie 
renaming and deleting. 

Query and sorting. The product’s query 
language is based on SQL (Structured 
Query Language). Multiple tables can 
be queried with output directed to the 
screen, a disk hie, or the printer. Sta¬ 
tistics are computed automatically, 
including count, minimum, maximum; 
and for numeric helds, count, average, 
variance, and standard deviation. 
Reporting. Without the optional 
K-Report package, most reports have 
to be programmed. 

Utilities. Utilities are available for 
selecting a driver for different termi¬ 
nal types and for customizing the key¬ 
board. With the USRMAN utility, a 
master user assigns access codes to 
other users. Additional utilities are 
provided to consolidate overlays into 
the main KnowledgeMan/2 program 
and to combine multiple procedure 
hies into a library. 

Data compatibility. Data can be input 
from and output to hies in ASCII 
delimited, BASIC, and DIF formats. 
Distribution. Began in May 1983 
through distributors and dealers. 

Price. $595; upgrade for existing 
users, $295; LAN version, $1,795 (10- 
user maximum), $3,325 (32-user maxi¬ 
mum); K-C, $1,175; K-Comm, $225; K- 
Graph, $225; K-Mouse, $100; K-Paint, 
$100; K-Report, $225; K-Text, $175. 
Runtime versions are available: K-Run 
for KnowledgeMan/2 and K-RunX for 
the optional modules are sold for 
$100 each in quantities of 1 to 10. Vol¬ 
ume discounts also are available. 
Support. All registered users may tele¬ 
phone MDBS and leave a message for 
a call back from technical support. 
KnowledgeMan Priority Support, de¬ 
signed especially for applications de¬ 
velopers, is available for $300 a year 
and allows four hours of telephone 
support. In addition, MDBS offers two 
books on KnowledgeMan and spon¬ 
sors seminars in major cities. 

—Julie Anderson 


JUNE 1986 


179 











KMAN 


It is easy to forget at this point that 
items have been rearranged to facilitate 
data entry from screens. Automatic 
checking to head off duplicate entries 
can be accomplished using split forms. 
(Multiple forms can be presented on a 
screen simultaneously or sequentially.) 
For example, suppose the user wants to 
prevent duplicate entries in the author 
name held. Two forms are set up on 
the screen (it looks like one form to 
the operator). The only held in the hrst 
form is for Social Security Numbers. As 
soon as this entry is made, the program 
searches the Author table for a dupli¬ 
cate. If one is found, the operator is 
told that the author is already in the 
table, and a screen is presented to edit 
the existing author information. If no 
duplicate is found, data input continues 
with the second form in order to create 
a new author entry. 

AD HOC QUERIES 

One of the questions asked by the PC 
Tech Journal sample application is the 
average fee paid to authors. Answering 
this question is simple because it in¬ 
volves only one table and takes advan¬ 
tage of KMAN’s automatic statistics com¬ 
putation feature. Whenever the environ¬ 
ment variable E.STAT is TRUE, KMAN 
automatically computes statistics for all 


listings or selections. For example, the 
following command 

LIST Title, Payment, Bonus, Payment + 
Bonus 

does the job as long as the Article table 
is open and is also the default table. 
From left to right, the columns are 
Title, Payment, Bonus, and the sum of 
Payment plus Bonus for each article. At 
the end of the listing, KMAN automati¬ 
cally generates the count, sum, average, 
variation, standard deviation, minimum, 
and maximum of each numeric column 
(Payment, Bonus, and Bonus + Pay¬ 
ment). If the user wants only the statis¬ 
tics and not a listing of articles, the 
command STAT instead of LIST would 
be adequate. 

Consider this query: how much 
was paid per printed editorial page 
(including only articles that are not 
departments) in an issue? 

LIST (Payment + Bonus) / (Edpage + 
Listpage) 

WHERE Category <> Department 
AND Volume = 3 AND Number = 2 

This command generates the data by 
issue (Volume and Number identify an 
issue) and the statistics feature calcu¬ 
lates the averages at the end of the list¬ 
ing. Again, using the command STAT in¬ 


stead of LIST generates only the average 
for the issue. Average per article within 
the issue is suppressed. 

This next query asked by the sam¬ 
ple application involves multiple tables: 
which articles were received after the 
deadline for an issue? To answer this 
query the user must go to the Issue hie 
to find the deadline and to the Article 
hie for the date submitted, then com¬ 
pare the date submitted to the deadline. 
Comparing dates requires the TOJUL 
function that converts dates from the 
current format, as specihed by the 
E.DTYP variable, to the Julian equiva¬ 
lent. This query would be handled by 
the following command: 

LIST Article.Title Article.Datein 
IssueDeadline 
FROM Article FROM Issue 
WHERE TOJUL( Issue.Deadline ) < 
TOJUL( Article.Datein) 

Another way of handling dates is to 
create a virtual held in the table to as¬ 
semble the parts of a date into a year- 
month-day string. This held can be used 
directly in selections and sorts. 

One of the sample application tasks 
requires using multiple tables with 
many-to-many relations. A columnar re¬ 
port must be generated that lists for 
each issue the article titles, author 


FORTRAN FROM 
THE HIGHEST 
AUTHORITY. 


Namely, RM/FORTRAN™ from Ryan-McFarland. 
It’s nothing less than a mainframe FORTRAN 
compiler for a pc. It’s also a full ANSI 77, complete 
with mainframe extensions and GSA-certified error- 
free at the highest level. And, thanks to our high 
optimizing compiler, it’s the fastest pc FORTRAN 
you can buy. To do just that, call us at 213-541-4828. 

Deep Valley Dr., I III RYAN- 

RollingHills I III McFARLAND 

Estates, CA 90274. Masters of the Language. 


RM/FORTRAN is a trademark of Ryan-McFarland Corporation. ©1986 Ryan-McFarland Gorp. 


COMPUTE 
YOUR ■ 


OF 


TE(SH 

JOURNAL 



Add to your PC TECH JOURNAL collection 
today. Make your personal library complete 
and authoritative with any issues you may be 
missing. 

Copies are available for issues published 
during the last twelve months—be sure to 
specify the issues you want. If a particular 
issue is out of stock, your payment will be 
refunded promptly. 

Back issues of PC TECH JOURNAL are 
priced at $7.00 each, postpaid. Outside USA, 
$8.00 each. 


PC TECH JOURNAL 

Ziff-Davis, One Park Avenue, 4th Floor, 

New York, NY 10016, K. Armstrong 

Please send issues of PC TECH JOURNAL listed 

below: 


■J Issue 

Qty. 

Unit Price 

Total Price 


| 








1 






Payment Enclosed 

$ 



Mr./Mrs./Ms._ 
Address- 


(print full name) 


City/State/Zip_ 


180 


CIRCLE NO. 174 ON READER SERVICE CARD 


PC TECH JOURNAL 



























WHY DO THE 

FORTUNE 50 SPEND OVER 
$400,000* A YEAR ON 

DOTASOURCES? 


RANK** 

1 

2 

3 

4 

5 

6 

7 

8 
9 

10 
11 
12 
IS 

14 

15 

16 

17 

18 

19 

20 
21 
22 
25 

24 

25 

26 


COMPANY 

Exxon (New York) 

General Motors (Detroit) 

Mobil (New York) 

Ford Motor (Dearborn) 

Texaco (Harrison, NY) 
i.B.M. (Armonk, NY) 

E. i. du Pont (Wilmington, Del.) 
American Tfel. & Tel. (New York) 
General Electric (Fairfield, CT) 
Standard Oil (Indiana, Chicago) 
Chevron (San Francsico) 

Atlantic Richfield (Los Angeles) 

Shell Oil (Houston) 

Chrysler (Highland Park, Ml) 

U.S. Steel (Pittsburgh) 
united Technologies (Hartford) 
Phillips Petroleum (Bartlesville, OH) 
Occidental Petroleum (Los Angeles) 
Tenneco (Houston) 

Sun (Radnor, PA) 

ITT (New York) 

Proctor & Gamble (Cincinnattl) 

R. J. Reynolds ind. (Winston-Salem) 
Standard Oil (Cleveland) 

Dow Chemical (Midland, Ml) 

Allied (Morris Twnshp., NJ) 


# OF SITES 
USING 

DATA SOURCES 
24 
45 
9 

27 

19 

15S 

42 

157 

121 

14 


19 

26 

7 

5 

14 
28 
10 

6 

15 

13 
58 

9 

10 

14 
19 
53 


27 

Unocal (Los Angeles) 

9 

28 

Eastman-Kodak (Rochester; NY) 

13 

29 

Boeing (Seattle) 

31 

SO 

Westinghouse Electric (Pittsburgh) 

34 

31 

Goodyear Tire & Rubber (Akron) 

8 

32 

Philip Morris (New York) 

7 

33 

Dart & Kraft (Northbrook, 10 

10 

34 

McDonnel Douglas (St. Louis) 

41 

35 

Union carbide (Danbury, CT) 

18 

36 

Beatrice Foods, (Chicago) 

14 

37 

Rockwell inti (Pittsburgh) 

44 

38 

Xerox (Stamford, CT) 

67 

39 

General Foods (Rye Brook, NY) 

5 

40 

PepsiCo(Purchase,NY) 

14 

41 

Amerada Hess (New York) 

2 

42 

Ashland Oil (Russell, KY) 

8 

43 

Lockheed (Burbank, CA) 

35 

44 

General Dynamics (St. Louis) 

19 

45 

Minnesota Mining & Mfg. (St. Paul) 

25 

46 

Coca-Cola (Atlanta) 

3 

47 

Georgia Pacif ic (Atlanta) 

5 

48 

LTV (Dallas) 

7 

49 

consolidated Foods (Chicago) 

13 

50 

w.R. Grace (New York) 

19 


* Source: 1,366 Purchasing Locations @ Base Annual Subscription price of $300. 
* * Source: Fortune Magazine, April 1985. 


1,366 computer installations of the Fortune 50 
rely on DATA SOURCES before they make a 
major DP purchasing decision. Because there is 
no other reference or buying guide as up-to-date 
and complete. 

Corporate buyers turn to DATA SOURCES be¬ 
cause of its complete product listings, comparative 
AT-A-GLANCE charts, and comprehensive prod¬ 
uct, specifications and profiles— before making 
any expenditure. 


Published quarterly in two volumes covering 
virtually all software and hardware products 
for mainframe, mini-, and microcomputers, 
DATA SOURCES is the indispensible resource 
in every purchasing decision. 


That’s why the Fortune 50 purchase DATA 
SOURCES before they purchase any 
computer product. 



When you want to reach the Fortune 50, gov¬ 
ernment and large and small businesses rely on 
DATA SOURCES, the ultimate buyers guide 
and reference to the entire computer industry. 
Call your DATA SOURCES representative 
today at 212-503-5861. 



One Park Avenue New York, NY 10016 














































KMAN 


TABLE 1: Bet icbmark Rest tits 


BENCHMARK TASK 

TIME (secs) 

Add 900 records to an empty database table 

206 

Index table on two helds (7 bytes) 

26 

Document and tally codes from one held 

Using the STAT command 

90 

Executing a program to count values 

64 

Mass change of one held (28 rows of 900) 

17 

Extract selected records to create a text hie 

21 


Compared with other data management systems reviewed in this series, KMAN 
seems to be average in many respects—a little quicker than most in indexing and 
a little slower than most in counting occurrences of record values. 


names, number of editoral pages, and 
number of listing pages per article. The 
data per issue should be calculated for 
editorial page and listing page counts 
and the total given for all pages. 

Two new fields can be created that 
facilitate the generation of this report. 
First, a virtual held, named Artisu, can 
be added to the Article table where 
Artisu = (Volume * 100) + Number. 
This is a shortcut so an issue can be de¬ 
scribed by a single held (Artisu) rather 
than two—Volume and Number. Life is 
also made easier by creating a virtual 
held for the author names: 

LFname = trim( Lname )-I- ”, “ -I- Fname. 

LFname now can be used for sorting or 
direct output without further formatting 
as though it were a single held rather 
than a combination of two helds. 

Basically, to solve the many-to- 
many problem, the program picks a 
logical starting place—in this case table 
Article.ITB— and obtains a record. If a 
new issue is involved, the subtotals for 
the previous issue (if one exists) must 
be printed. If not, the user can continue 
to hnd information about the current 
article. To do so, the AutArt table is 
consulted to match the existing article 
number with an author number (or 
more), and the author table is searched 
using the author number in order to 
retrieve author name. The authors are 
listed, edit and list page counters incre¬ 
mented, and the next article examined. 

BENCHMARKS 

The benchmark tests and results are 
shown in table 1. Compared with other 
data management systems reviewed in 
this series, KMAN seems to be average 
in most respects—a little faster than 
most in indexing and a little slower in 
the tasks that involved counting occur¬ 
rences of record values. 

The first benchmark, loading the 
author database, required 206 seconds. 


Benchmark 2 required the Author table 
to be indexed by state and zip code. 

The KMAN command for this is: 

INDEX “Iauthor.IND” FOR Author BY AZ 
State AZ Zip 

Using the index requires that an index 
hie be named in the USE command 
along with the associated data table, as 
in the following example: 

USE “Author.ITB” with “Iauthor.IND” 

The program required only 26 seconds 
to handle the two-held index task. 

KMAN can be quite time sensitive 
in some tasks. The serious program 
developer may want to try several 
approaches to a task if time is critical to 
the application. Benchmark 3 requires a 
count of occurrences of authors’ home 
states. The easiest way to solve this 
problem is to use the STAT command 
after turning off all statistics except 
count. The end single line request 
looked like this: 

STAT State 

About 90 seconds later the task was 
complete. The same task was attempted 
by writing a program that reads the 
Author table one record at a time in 
state sequence, counting the states. Sur¬ 
prisingly, the entire task took only 64 
seconds when run under the program, 
and the output was more attractive. 

Benchmark 4, changing all CO state 
codes to CL, is accomplished with a 
one-line command: 

CHANGE State TO “CL” FOR State = “CO” 
ALL. 

The time required for this task was 17 
seconds, about average for microcom¬ 
puter data management systems. 

Benchmark 3 called for extracting 
selected records—in this case, authors 
from California—and writing a report to 
a disk file. Again it could be handled by 
a single command from the KMAN 


prompt. Setting the environment vari¬ 
able E.ODSK to TRUE opens the disk 
hie DSKOUT.TXT. The command to col¬ 
lect unique California authors is: 

LIST Lname Fname State 

FOR State = “CA” 

ORDER BY AZ Zip. 

BIG GUNS 

KnowledgeMan is far from perfect, but 
its wealth of features lets the user forget 
the imperfections or, at least, work 
around them. MDBS has a fine reputa¬ 
tion for designing excellent relational 
and postrelational data managers. This 
product measures up to MDBS’s prom¬ 
ises not only with developers but also 
in the end-user market. 

KMAN is a reliable product. It had 
many bugs in its early days, but none 
that caused data loss. The product has 
no crash recovery utility. 

In its latest version, KMAN has got¬ 
ten on-line, context-sensitive help, roll- 
down menus, and optional utilities that 
integrate the database function with a 
text processor, a communications pack¬ 
age, a report writing utility, a forms 
painter, and a mouse driver. Optional 
language interfaces are becoming avail¬ 
able (C exists now in the optional K-C 
module) as are LAN, VAX, and XENIX/ 
UNIX versions. With the existing CP/M 
and DOS configurations, KMAN will run 
on a variety of machines. 

With all its bells and whistles, the 
KMAN system is expensive—more than 
$1,600 retail with all the available op¬ 
tions. An upgrade from version 1.07 
(the last 100-series version) to 2.0 is 
$295. Factory support is available at sev¬ 
eral different response levels for vary¬ 
ing costs. Free support consists of a 
call-back system in which the user must 
call and leave a message, then wait for a 
support representative to call back— 
which may mean two or three days. 

KnowledgeMan is a professional 
applications development system. Cer¬ 
tainly the novice can use it for simple 
applications, but KMAN is really de¬ 
signed as big guns for big gun applica¬ 
tions. Putting up with the minor bugs is 
worth the opportunity to work with this 
generally excellent software offering. 
KMAN is so rich with features that the 
question has never been “can KMAN do 
such and such,” but rather “how do you 
get it to do such and such.” I'm—1 


Richard N. Aarons is senior editor at Busi¬ 
ness and Commercial Aviation magazine 
where he evaluates aviation-related software 
and computer systems. He conducts seminars 
across the country on the use of microcom¬ 
puters in flight department management. 


182 


PC TECH JOURNAL 















They told me those copies of 

# programs I made for my computer 

a 4 AVIsi ^ could cost the company hundreds of thousands 

I'f' vvt/V^ t/v vl Kl f ('V of dollars. Maybe even cost me my job. 


/ know 


Few people realize that software piracy is a Federal crime. At ADAPSO ; 
the computer software and services industry association we ; re doing 
everything we can to inform the public of the problem. And the penalties. 

You could unknowingly put your company on the receiving end of 
a lawsuit by making illegal copies of software. Maybe even put yourself 
on the receiving end of a pink slip. And that ; s why ADAPSO wants 
you to know the facts. 

Return the coupon for a brochure that explains the risks of software 
piracy IPs free. And it may help you keep your job. L—l _ —l _ -l _I 



Send this coupon or your business card for more information. J 
Or call us at (703) 522-5055 and ask for Marilyn. 

ADAPSO ; 1300 North Seventeenth Street, Arlington, 

Virginia 22209 


Software Piracy is a Federal Crime 











helps save time, money and cuts frustrations. Compare, evaluate, and find products. 


RECENT DISCOVERY 


PC Scheme LISP - by TI. SCHEME has 
special, simple, “orthogonal” syntax. Lexi¬ 
cal scoping, block structure, call by value, 
and tail-recursive semantics. Compiler, 
EMACS-like editor, DOS. Supports de¬ 
bugging, graphics, windowing. PC S 95 


Al-Expert System Dev’t 


Arity System - incorporate w/C. PC $295 
Experteach - Powerful, no limit on 
memory size. Samples PC $399 

EXSYS - All RAM, Probability. 

Why. Trees. Solid, files, popular PC $359 
1st class - by example, interfaces $250 
Insight 1 - Probabilities, required 
thresholds, menus, fast ($79) 

Insight 2 adds backward, forward, 
partitions, dB2, lang., access. MS $399 
Others: APES ($359), Advisor ($949), 

ES Construction ($100), ESP($845), 
Expert Choice ($449) 


Al-Lisp 


GC LISP Interpreter - “Common”, rich, 
Interactive Tutorial $ 495 Call 

GC LISP 286 Developer - 2 to 15 meg 
RAM, compiler & Interp. $1195 Call 
Microsoft MuLisp 85 $ 250 $199 

TLC LISP - “LISP-Machine” - like, 
all RAM, classes, compiler. MS $225 
TransLISP - Good for learning MS $ 75 
WALTZ LISP - “FRANZ LISP” - 
like, big nums, debug, CPM-80 MS $149 
Others: IQ LISP ($ 155), BYSO ($ 125), 


Al-Prolog 


ARITY Standard - full, 4 Meg 
Interpreter - debug, C, ASM PC $ 350 
COMPILER/Interpreter-EXE PC $ 795 
With Exp Sys, Screen - KIT PC $1250 
MicroProlog - enhanced MS $ 229 

MProlog - Improved, Faster PC $ 475 
Professional MicroProlog MS $ 359 

Prolog-86 - Learn Fast MS $ 95 

Others: Prolog-I ($365), Prolog-2 ($1795) 


Free Literature 
Compare Products 

Evaluate products. Compare competitors. Learn 
about new alternatives . One free call brings infor¬ 
mation on just about any programming need. Ask 
for any “Packet” or Addon Packet □ AI □ ADA, 
Modula □ BASIC □“C* □ COBOL □ Editors 
□ FORTH □ FORTRAN □ PASCAL □ UNIX/PC 
or □ Debuggers, Linkers. 

Our Services: 

• Programmer’s Referral List * Dealers Inquire 

• Compare Products • Newsletter 

• Help find a Publisher ' Rush Order 

• Evaluation Literature FREE • Over 700 products 

• BBS • 7 PM to 7 AM 617-826-4086 * National Accounts Center 


C Language-Compilers 


BDS C - solid value, fast CPM80 
C86 by Cl - 8087, reliable MS 

Consulair Mac C w/toolkit MAC 

ECP C/88 MS 

Lattice C - from Lifeboat MS 

Lattice C - from Lattice MS 

Mark Williams - w/debugger MS 

Megamax - tight full ATARI/ST 
Microsoft C 3.0 - new MS 

QIC 88 by Code Works - Compiler 
source, decent code, cross/native MS 
Wizard C - Lattice C compatible, 
full sys. Ill, lint, fast. MS 


C Language-Interpreters 


C-terp by Gimpel - full K & R, 

.OBJ and ASM, large progs. MS $249 
INSTANT C - Source debug, 

Edit to Run-3 seconds MS $399 

Interactive C by IMPACC Associates. 
Interpreter, editor, source, debug. PC $225 
Introducing C - learn C 
fast, self paced tutorial PC $109 

Professional Run/C - Run/C plus 
create add-in libraries, 
load/unload them. MS $199 

Run/C - improved MS $109 


C Support-Systems 


Basic C Library by C Source $139 

dBrief, the dBASE Assistant PC $ 95 
dBase Tools for C Tools $ 79 

PC Graphics $ 79 

C Sharp - well supported. Source, 
realtime, tasks $600 

C ToolSet - DIFF, xref, source $135 

Lattice Text Utilities $105 

The HAMMER by OES Systems $179 


SECURITY LIB-add encrypt to MSC. 

C86 programs. Source $250 PC $125 


C Libraries-General 


Application Programmer’s Toolkit MS $375 
Blaise C Tools 1 ($109), C Tools 2 $ 89 
C Food by Lattice-ask for source MS $ 119 
C Power Windows by Entelekon $119 
C Utilities by Essential - Comprehensive 
screen graphics, strings. Source. PC $139 
C Worthy Library - Complete, machine 
independent, source MS $295 

Entelekon C Function Library PC $119 
Entelekon Superfonts for C PC $ 45 
Greenleaf Functions - portable, ASM $139 
Polytron - for Lattice, ASM source $ 85 
Software Horizons - Pack I PC $129 


C Libraries-Communications 


Asynch by Blaise $149 

Greenleaf - full, fast $139 

Software Horizons - pack 3 $ 119 


C Libraries-Files 


FILES: C Index by Trio - full B + 

Tree, vary length field, multi compiler 
/File is object only $ 89 

/Plus is full source $349 

dbVISTA - full indexing, plus optional 
record types, pointers, Network. 

Object only - MS C, LAT, C86 $179 
Source - Single user MS $459 

Source - Multiuser MS $929 

CBTREE - multiuser record locking, 
sequential, source, no royalties MS $ 99 


$125 
$299 
$299 
$ 60 
$289 
$339 
$399 
$179 
$259 

$125 

$379 


FEATURE 


OBJECT-ORIENTED Programming: with High Performance 
METHODS Smalltalk Language 

METHODS is a powerful, language-compatible subset of Smalltalk-80that is ideal 
for software prototyping, simulation, databases, advanced user interfaces, and numer¬ 
ous Al applications. Over lOOclasses and 2000methods — easily-customized software 
building-blocks for rapid, incremental development of real-world applications. 

An open-ended window environment that encourages exploration while allowing re¬ 
covery from any error. Extensively documented in a four-part manual that addresses 
the needs of everyone from beginners to experienced programmers. 

Methods also offers a communications interface that includes remote UNIX'" access, 
an object-oriented shell for DOS programs, and much more. 

AND NOW... 

GRAPHIC METHODS — all of the above, converted to bit-mapped graphics, 
plus. . . 

- Logo-style graphics using class "Pen” 

- Multiple fonts 

- Form editor, for freehand drawing with the mouse 

- Bit editor, for the creation or modification of icons, fonts, and other graphic elements 

- A new debugger with the ability to inspect and change variables and resume 
execution 

- Supports CGA, EGA, Hercules, and AT&T Hi-Res graphic controllers. Available 
after June 1st. 


FEATURE 


ASSEMBLER PROGRAMMERS: Be an Expert 
and Take Out the Pain with the 
First Assembler Interpreter/Debugger 

ADVANCED TRACE-86 

A complete, interactive, visual Assembler Interpreter/Compiler is integrated with a 
powerful debugger and editor to create, debug, rewrite, and test code. Increase under¬ 
standing while you watch on your screen all aspects of the main processor (8088,8086, 
80286) and floating point processor (8087, 80287). 

Instructions from a full screen of disassembled code can be single-stepped or run at 
other speeds while you watch registers, flags, the stack, and memory. Set or suspend 
breakpoints by: address range, label, or conditions. Toggle to the user screen to see 
the effects. 

Add or delete program statements or directly change memory and registers to recarve 
your program while debugging — don’t lose your ideas by waiting to assemble. 

Gone too far? You can even back up your program! 

On-line help and demos help you learn quickly. 

Directly access DOS functions or the 8087/287’s math functions and quickly see 
exactly what results are produced. 

If you spend even a few hours with assembler code, whether your own or from a com¬ 
piler, you deserve to get frustrations out of your way with Advanced Trace-86. 


METHODS PC DOS $239 
GRAPHIC METHODS PCDOS $665 


f Morgan Computing Co., Inc. 


PCDOS $149 


We support MSDOS (not just compatibles), PCDOS, Xenix-86, CPM-80, Macintosh, Atari ST, and Amiga. 


CIRCLE NO. 162 ON READER SERVICE CARD 














































provides complete information, advice, guarantees and every product for Microcomputer Programming. 


I ORDERTODAY 

SPECIAL PRICE 



C-TREE by Faircom - portable, 
stable, thorough, balanced 
Btree file manager with 

Source. MSDOS List $395 

ORDER BEFORE 6/30/86 and mention this 
ad for a special price of $289. 

ORDER AFTER 6/30/86 for _ $349. 


Editors for Programming 


BRIEF Programmer’s Editor - 
undo, windows, reconfigure PC Call 
C Screen with source 80/86 $ 75 

EM ACS by UniPress - powerful, 
multifile, MLISP. Source: $949 $299 
Epsilon - like EM ACS PC $169 

FirsTime by Spruce - Improve 
productivity. Syntax directed for 
Turbo ($69), Pascal ($229), orC ($239) 
Kedit - like XEDIT PC $115 

Lattice Screen Editor-multiwindow, 
multitasking Amiga $100 MS $125 
PM ATE - power, multitask 80/86 $159 
VEDIT - well liked, macros, 
buffers CPM-80-86. MS $119 

XTC - multitasking PC $ 85 


Atari ST & Amiga 


We carry full lines of Manx, Lattice, 
Metacompco and Prospero. 

Note: All prices subject to change without notice. 
Mention this ad. Some prices are specials. Ask about 
COD and POs. All formats available. 

UPS surface shipping add $3/item. 


MultiLanguage Support 


BTRIEVE ISAM MS $199 

CODESIFTER - Execution PRO¬ 
FILER. Spot bottlenecks. MS $109 
Dan Bricklin’s Demo Program PC $ 75 
HALO Graphics- Multiple video 
boards, printer, rich. Animation, 
engineering, business. 

Any MS language, Lattice, C86 PC $249 
PLINK 86 - a program-independent 
overlay linker to 32 levels for all MS 


languages. C86 and Lattice. MS $299 
Pfinish Performance Analyzer 
by Phoenix MS $299 

Profiler by DWB Associates MS $ 99 

PS MAKE by UniPress PC $129 

Screen Sculptor - slick, thorough, 
fast, BASIC, PASCAL. PC $109 

ZAP Communications- VT 100, 

TEK 4010 emulation, file xfer. PC $ 85 


Xenix-86 & Supporting 


Basic - by Microsoft $279 

Cobol - by Microsoft $795 

Fortran - by Microsoft $399 


PANEL Screen LIB - multi-language $539 
Xenix Complete Development System $985 


RECENT DISCOVERY 


Synergy - Create user interfaces. 
TopView-compatible multitasking 
operating environment offers windows, 
icons, pull-down menus and fonts 
in 12K RAM. MS $375 


Fortran & Supporting 


Forlib + by Alpha - graph, comm. $ 59 
Fortran >> C-FORTRIX C creates 
maintainable translations. $995 

MACFortran by Microsoft - full ’77 $229 

MS Fortran $219 

No Limit - Fortran Scientific $129 

Poly Fortran - xref, pp, screen $149 
Prospero - ’66, reentrant $390 

RM Fortran - enhanced “IBM Ftn” $399 
Scientific Subroutines - Matrix $149 
Statistician by Alpha $269 

Strings and Things - registers, shell $ 59 


Debuggers 


Advanced Trace-86 by Morgan 
Modify code on fly. PC $149 

CSPRITE - data structures PC $139 
Periscope I - own 16K PC $269 

Periscope II - symbolic. “Reset 
Box.” 2 Screen PC $119 

Software Source by Atron- 
Lattice, MS C, Pascal, Windows 
single step, 2 screen, log file. MS $115 
w/Breakswitch $199 

Pfix-86 Plus Symbolic Debugger 
by Phoenix - windows PC $289 


FEATURE 


FEATURE 


EXPERT SYSTEM DEVELOPMENT: 

Practical, Complete, and Unlimited Features 
Help Smoothly Build Expert Systems with EXSYS 

EXSYS, Inc. has built a stable and complete toolkit by listening to users and examining 
what they need. One of the first Expert System Shells for the PC, EXSYS provides 
the features of just about all of its combined competitors, plus the documentation and 
examples you will need to learn in this field. 

UNLIMITED FEATURES? EXSYS supports backward chaining of IF/THEN/ELSE 
rules, full math support, probabilities, explanations, the ability to call external pro¬ 
grams including spreadsheets, database managers, or custom-written front ends with 
data passed to and from the external program, plus the ability to handle substantial ap¬ 
plications of up to 5,000 rules. All user input is either English text, menu selection, 
or algebraic expression. 

The systems developed can explain why information is needed and how it will be 
used. The ability to “change and rerun” allows expert system modelling of problems. 
Written entirely in C, EXSYS provides very high speed execution and efficient mem¬ 
ory utilization. 

But if these features are not enough, use the interface to Lotus, dBASE, BASIC, C, 
or any other EXEor COM file. Already in use at over 1,000 sites with many complex 
and powerful expert systems developed. Several expert systems have been marketed 
with a low-cost runtime license. Single computer use is only $349. Unlimited runtime 
distribution is available for an additional $539. 


PROVE CONCEPTS, 
Tighten Designs, or 
Quickly Create Demos with 
DAN BRICKLIN’S DEMO 
PROGRAM 

Focus exclusively on what the user sees and 
does — with complete, flexible tools for 
fast and tangible results. 

Show simulations of keyboard input and 
screen content by using Dan’s editor and 
screen building tools. “Snapshot” screens 
created by other programs, use a prior 
screen to create a new one. Draw boxes, cut 
and paste any screen subset, control attri¬ 
butes like inverse video and color. Use the 
graphics characters available in the text 
mode. 

Cause screens to branch in any sequence 
using labels. Give the demo user control. 
Print-control helps put your slide show to 
paper or disk in a variety of formats. 


PC DOS $349 


PC DOS $75 


FEATURE 


PROGRAMMING TEAMS: 
Manage and Control Source 
Versions Efficiently with 

POLYTRON Version Control 
System (PVCS) 

Duplicated efforts and time wasted rebuild¬ 
ing and cataloging source can be avoided. 
Reliably delegate control for source AND 
documentation to PVCS. 

Save confusion and disk space by letting 
PVCS maintain the complete current ver¬ 
sion plus all of the increments, decrements, 
and related notes needed to rebuild any ver¬ 
sion. Maintains a complete history of 
changes. No experience with such a system 
is assumed. The documentation and exam¬ 
ples will help you learn quickly. Privilege 
levels control access so the administrator 
knows who is working on each module. 
Now used in PC software development en¬ 
vironments at Hewlett-Packard, Sperry, 3- 
COM, ROLM, and many more. Ask about 
discounts for LAN and multi-keyboard 
access. 

mtumoNm pcdos $369 


Call for a catalog, literature, advice and service you can trust 

800 - 421-8006 


NEW HOURS 

8:30 AM-8:00 PM EST 


THE PROGRAMMER’S SHOP™ 

128-P Rockland Sired, Hanover, MA 02339 
Mass: 800442-9070 or 617-826-7531 


“f have been pleased with your catalog selec¬ 
tion, the knowledge of your telephone 
answering staff, and the promptness of your 
service. I have every wish to become a 
continuing customer of the Programmer’s 
Shop. 

Carl C. Rollo 


486 


CIRCLE NO. 151 ON READER SERVICE CARD 










































How to develop 
elegant software 
using Basic or M C 


ft 


by Cary Harwin 

A widely shared dream is the fast, easy 
creation of error-free code and documentation. 
One of the secrets of top software designers 
is increased productivity through the use of 
powerful tools. Imagine the benefits of 
joining this group. Here are some ways. 


For Software Designers 
Using BASIC: 

BASIC Development Tools 

Screen Builder +* easily creates 
powerful application screens. Using your 
favorite won! processor or the built-in full 
screen editor you quickly paint your screen 
image. Simply create and edit fields of any 
length, anywhere on the screen, with both 
full screen editing within each field and move¬ 
ment from field to field. Enhanced graphics 
presentations are encouraged using all 255 
ASCII characters. With available on-line 
help you are quickly up and running. Then 
error-free BASIC is automatically generated. 
Now the code is ready to insert into your 
application program without the use of 
BLOAD or BSAVE. With no BIOS calls, 
the code is tight and efficient The system is 
complete with both a subroutine library and 
multiple examples. For only $59 you 
should be using it now. 


STERLING] 
Reader Inquiry 

1 ? ELP 1 

| Name: JohnD.Roael 

Put it anywhere, 

I Call it anytime, 

| Display whatever 

1 information you chooae 



Company: GTL International 
Address: 117Stooy Creek 
City: Phi** 



B-Plus Tree - * - * is a powerful record 
handling subsystem. Write programs 
without worrying about sorting or handling 
of index files. Fast (access a key field in a 
file of 32,000 records in less than one 
second). Direct and sequential accessing, 
variable length keys, multiple non unique 
keys and multiple keys per record. Get first, 
next, last or prior key in sequence. Users are Library* 
amazed at the source code's simple elegance 
and are delighted in the value pricing of $59. 


windowing functions when called from a 
BASIC program. Implementing EZ lets you 
create modem and fast menus, windows, 
notepads, etc. The power and flexibility 
found here rivals the windowing power of the 
modem languages found in the industry today 
and a must have at only $39. 

Each of these stand alone but when used 
together they are truly outstanding. Prove it 
to yourself by trying all four. 

A Pleasant Surprise - it is hard to 

find good, affordable software; so I've done 
something about it For a limited time you 
can purchase all four BASIC Development 
Tools for only $89. ($206 value) 

+Runs under interpretive BASICA or 
Microsoft Basic. Compilable under IBM, 
Microsoft, or QuickBASIC Compiler. 


For Software Designers 
Using "C" : 

BlackStar™ "C" Function 


Help Message -1 ** systems are a part 
of every modem software application. Now 
you can provide your users with the help 
they expect. Interactive, context sensitive 
help reduces the need for extensive manual 
documentation while allowing your users to 
become quickly operational. High perfor¬ 
mance is assured through the inclusion of a 
fast assembler subroutine. Overhead to your 
program is insignificant as your text informa¬ 
tion is turned into callable libraries. A 
justifiable necessity at $49. 

EZ Screen -1- * or Pop up Windows is 
an assembler routine embedded in a basic 
subroutine to perform screen handling and 


louse support 


The new generation of "C' compilers demand 
a full featured, high performance function 
library. With over 250 functions, BlackStar 
is "the" new standard of "C" function 
libraries. Created for internal development 
and used extensively for the past two years, 
BlackStar has only recently been released to 
outside developers. Now there is no need for 
you to re-invent the wheel. I believe that it 
has everything (&more) on your wish-list of 
functions. 

Standard Functions: 

Screen handling, strings, graphics, file I/O, 
directory searches, peripheral control, and 
extensive date/time 
Supports device drivers 
Utilities with source: document extract, 
pretty printer, greplike 


Powerful New Enhancements: 

Menu manager and Text windows 
Microsoft Moi 
Encryption 
Table driven printer control 
Table driven keyboard functions for complete 
keyboard control and customization 

High Performance features: 

Optimized (in assembler) for speed and 
compactness 
Interrupt redirection. 

Complete 

Compatible with Lattice and Microsoft 
Compilers (Ver.3) - adaptable to others 
Complete source code, demo programs and 
comprehensive users manual 

If you are using another function library it is 
time to make this major upgrade. 

Wow! - An outstanding value at our regular 
price of $99 but a virtual steal at our limited 
time special of only $79. 


Amazing Offer - I promise your 

programming productivity will be enhanced 
if you use these tools. In addition, I am 
going to make testing them in your home or 
office so easy that it will be a shame if you 
don't take advantage of my offer. Simply 
order by calling our toll-free hotline. After 
you receive your tools, put them to work 
developing those challenging projects. Try 
them for 75 days. If you're not convinced 
that they are a fantastic value, simply return 
them and I'll refund your full purchase price. 
But act now and join that select group of top 
software designers. 

ORDER HOTLINE 
1-800/7-CastIe 

(in CA call: 213/306-3020) 

Visa, MC, COD, and checks accepted. 

Shipping included in U.S. and Canada. Others 
please add $15. CA residents add 6% tax. 

♦Requires PC or MS Dos. 

Trademarks: BlackStar (Sterling Castle), MS-DOS 
(Microsoft), IBM and PC-DOS (International Business 
Machines), Lattice (Lattice, Inc) 


STERLING 

CASTLE 

Helping You to Solve Problems 

702 Washington Street Suite 174 
Marina del Rey, CA 90292 

P.S. Please remember that our products are 
not copy protected and we charge no 
royalties. 

CIRCLE NO. 183 ON READER SERVICE CARD 


































PROGRAMMING PRACTICES 


PATRICK J. FINAN 


Accessing the Print Queue 

The print spooler functions of DOS 3.x save on 
program development time and present a standard 
interface to the end user. 



P rint spoolers and print buffers allow 
users to move on to other applica¬ 
tions without waiting for the computer 
to finish printing a spreadsheet or re¬ 
port. In many cases, print buffers make 
it possible for users to operate without 
having to purchase a new, faster, and 
more expensive printer. 

A hardware buffer receives and 
stores output as fast as the computer 
can generate it, then sends the output 
to the printer at a slower rate. Thus, the 
computer thinks it is finished printing 
long before the printer has received the 
last word. This approach can be an 
effective strategy as long as the buffer is 
equipped with an adequate amount of 
memory. Hardware buffers, however, 
are not always the best solution because 
they add to desktop clutter. 

A software buffer performs the 
same function as its hardware counter¬ 
part by reserving a block of system 
memory to be used as a buffer. Periodi¬ 
cally, the operating system executes a 
program called a print spooler to trans¬ 
fer characters from the buffer to the 
printer. This approach also can be effec¬ 
tive but steals valuable memory space 
from spreadsheets, word processing 
programs, and other applications. 

Several software vendors have rec¬ 
ognized the user’s need for access to 
background printing and have incorpo¬ 
rated special background printing capa¬ 
bilities into their products. The basic 
drawback to this approach is that the 
background spooler terminates when 
the application is ended, leaving any 
files waiting to be printed in limbo un¬ 
til that application is started again. 

For a print spooler to work across 
applications, it must be part of the PC’s 
operating system. IBM recognized this 
and began providing pieces of a back¬ 
ground spooler in DOS 2.0 with the 
PRINT.COM command. 

The first time PRINT is executed, it 
is loaded into memory and becomes a 
permanent part of the operating system. 


Subsequent executions of PRINT can be 
used to add and delete file names from 
the print queue. Periodically, DOS in¬ 
terrupts whatever program is running 
and passes control to the spooler. The 
spooler is allowed a fixed amount of 
time to transfer data from the first file 
listed in the print queue to the output 
device. Control of the system is then re¬ 
turned to the application. 

Unfortunately, the DOS 2.0 PRINT 
command allows access to the print 
queue only through a DOS command; 
users still cannot take advantage of the 
background spooler’s capabilities from 
within an application. 

With DOS 3.0 came several new 
features that made the background print 
spooler more useful. A library of spool¬ 
er routines presented later in this arti¬ 
cle help users gain easy access to the 
DOS 3.0 background print spooler. 

DOS 3 0 has an expanded PRINT 
command that provides better user con¬ 
trol over the operating parameters of 
the background spooler. BASIC 3.0 also 
features a SHELL command that enables 
interpretive BASIC users to execute any 
.COM, .EXE, or .BAT routine from with¬ 
in a BASIC program. In other words, 
users can start the background spooler 
and submit files for printing from with¬ 
in BASIC simply by issuing the SHELL 
command and specifying DOS PRINT as 


its parameter. For example, to start the 
spooler and direct its output to LPT1:, 
the user types the command: 

SHELL “PRINT /D:LPT1” 

Other PRINT command parameters also 
can be included by the user to help es¬ 
tablish the desired print spooler envi¬ 
ronment. These parameters can specify 
the size of the internal buffer, the maxi¬ 
mum number of files in the queue, and 
the amount of time the operating sys¬ 
tem should allow for the spooler to 
transfer output to the printer. 

After the background spooler has 
been started, the user can submit files 
fqr printing by issuing the command: 

SHELL “PRINT d:\path\filename.ext” 

When using the PRINT command from 
DOS or BASIC, the name of the file 
being referenced should be fully quali¬ 
fied by specifying both the drive and 
path. The wildcard characters * and ? 
also can be used to queue multiple files 
for printing by the background spooler. 

The most important addition to 
DOS 3.0 was a set of interrupt service 
routines that provide programmers 
writing in languages other than inter¬ 
pretive BASIC with full access to the 
DOS background print queue from 
their applications. In all, six functions 
are available to the programmer via 


JUNE 1986 


187 


ILLUSTRATION • MACIEK ALBRECHT 


























Software pirates 
ruined our reputation 


That was just for starters. Fm still 
paying fines and legal fees because a few 
employees thought they were saving me money 
And it would have been so easy to avoid. 


Software piracy is a Federal crime. At ADAPSO ; the computer software 
and services industry association we ; re doing everything we can to 
keep business leaders like you informed of the problem. 

You can preserve the integrity of your company and protect it from 
liability by actively discouraging software piracy ADAPSO can provide 
you with materials that can help 7 such as sample policy statements and 
information booklets for your employees. 

Return the coupon to receive a full packet of information. IPs free. And 
it could very easily keep your company off the hook. 


^™Send this coupon or your business card for more information""^ 
Or call us at (703) 522-5055 and ask for Muriel. 

ADAPSO ; 1300 North Seventeenth Street, Arlington, 

Virginia 22209 



Software Piracy is a Federal Crime 









PROGRAMMING PRACTICES 



The above structure specifies the file aitest.txt for print spooler commands. A sub¬ 
mit packet is a five-byte structure that points to the file name in ASCIIZ format. 
The full file name string is not shown; these ASCIIZ strings are 64 bytes long. 


DOS interrupt 47 (2FH) that can be 
used to control the queue. In each case, 
the user must set the AL register equal 
to the desired function number and the 
AH register equal to 1 before executing 
interrupt 2FH. Some of the function 
calls have additional input parameters, 
which are described below. 

After issuing the particular function 
interrupt, the user can check for suc¬ 
cessful execution by testing the carry bit 
of the flags register. If the carry bit is 
not set, the user is assured that the 
function executed successfully and any 
return values set in the registers are 
valid. However, if the carry bit is set, an 
error was encountered and the AX reg¬ 
ister contains a DOS error code. 

Function 0 can be called to deter¬ 
mine if the DOS background print 
spooler has been installed and is avail¬ 
able for use. A return code of 255 in 
the AL register indicates the spooler is 
ready to receive the names of files to 
print. A return code of 0 means the 
spooler has not yet been installed using 
the DOS PRINT command. A value of 1 
indicates not only that the spooler is 
not available, but also that it cannot be 
installed either because the system is 
not running under DOS 3.0 or because 
interrupt 2FH already is being used for 
some other purpose. 

Function 1 adds a file name to the 
DOS background print spooler queue. 
Before executing the interrupt, the reg¬ 
ister pair DS:DX must point to the seg¬ 
mented address (segment:offset) of a 
five-byte structure called a submit 
packet (see figure 1). The first byte of 


this packet must be a hex 0. Bytes 2 
through 5 are set equal to the seg¬ 
mented address of the ASCIIZ string 
that contains the drive, path, hie name, 
and extension of the hie to be added to 
the print queue. An ASCIIZ string is a 
64-byte structure that contains the de¬ 
sired data and is terminated by an OH 
of length 1 byte. When specifying the 
segmented address of the ASCIIZ string 
in the submit packet, bytes 2 and 3 
must point to the offset portion, and 
bytes 4 and 5 to the segment portion. 

Function 2 allows the user to de¬ 
lete a hie name from the background 
print queue. Before calling this func¬ 
tion, the user must set the register pair 
DS:DX to the segmented address of an 
ASCIIZ string which contains the drive, 
path, and hie name of the hie to be del¬ 
eted from the queue. The wildcard 
characters * and ? are valid in function 
2 and can be used to delete a range of 
hies from the queue with a single call. 

The entire print queue, including 
the hie currently printing, can be 
cleared with function 3. This function 
has no additional input parameters. 

Function 4 suspends the spooler 
and returns the segmented address of 
the print spooler queue in the register 
pair DS:SI. The spooler queue is a 
2,048-byte block of memory, which is 
large enough to hold 32 spooler en¬ 
tries. Each entry is a 64-byte ASCIIZ 
string. If a spooler entry is shorter than 
64 bytes, it is terminated by a byte of 0, 
and all characters from that position out 
to the 64th byte are meaningless. The 
end of the queue is marked by a 0 in 


Does YOUR disk Look Like 

THIS? 



Let 

H.D. Tuneup 

cleanup your act! 


H.D. Tuneup tunes your disk file 
system, making it better than new. 
File loads speed along like new. 
Directory searches are faster than 
new. 

H.D. Tuneup reallocates all of your 
files to be contiguous. Each file is 
placed in its proper location, 
adjacent to it's neighbors in the 
directory. 

Disk operations run faster when 
your files have been Tuned. 

H.D. Tuneup relocates your sub¬ 
directories into one area of your 
disk, as close to the root as possible. 
All deleted entries are actually 
removed. 

Your drive head moves less from 
directory to directory than when 
your disk was new. TREE/F will fly 
when listing all of your files. 

H.D. Tuneup requires IBM 
PC/XT/AT compatibility, 196k, and 
DOS 2.x/3.x. Fixed disks up to 32mb 
may be tuned, along with any 5.25" 
diskette. 

NOT COPY PROTECTED! 
ONLY $39.95 plus $3.00 S/H 

SofCap Inc. 

P.O. Box 131 

Cedar Knolls, N.J. 07927 

Visa (201) 386-5876 M/C 

N.J. residents add 6% sales tax. 


For the best performance 
from your disk 
TUNE IT UP!! 



Visa, Master Card, Checks, Money Orders, or 
COD only. 


JUNE 1986 


CIRCLE NO. 164 ON READER SERVICE CARD 

189 













































PROGRAMMING PRACTICES 


the first byte of an entry. Users should 
not try to shortcut the spooler by 
modifying the print queue directly; the 
service functions always should be used 
to ensure reliability. 

After function 4 has been executed, 
function 5, which has no additional 
input parameters, can be used to un¬ 
lock the queue and resume normal 
print spooler operations. 

Dealing with segmented addresses, 
ASCIIZ strings, and submit packets can 
get a bit tricky, and complete and accu¬ 


rate documentation of the 2FH interrupt 
service functions is difficult to find. As a 
result, users may find these to be frus¬ 
trating methods of accessing the print 
spooler. However, a set of routines, 
written in IBM Pascal (see listing 1), 
simplifies the process of accessing the 
DOS background print spooler. Those 
writing in assembly language or C can 
create a similar library using the Pascal 
routines as a model. The six routines 
are available for downloading from 
PCTECHline as SPOOL.PAS. 



Why debug your Program in 
Assembly Language when you 
wrote it in one of these... 


Without source level debugging, the 
programmer must spend time mentally 
making translations between assembly 
language and the C or Pascal in which the 
program was written. These tedious trans¬ 
lations burn up valuable time which 
should be spent making critical product 
schedules. Lower level debugging tools 
are superseded by Atron’s SOFTWARE 
SOURCE PROBE. This is the debugging 
tool used by professionals. Why? — 
Because it has the features they need to 
solve complex debugging problems. 
SOFTWARE SOURCE PROBE has the 
same command interface as the Atron 
hardware assisted software debuggers — 
so you can fill your lab with compatible 
debugging tools and minimize new learning. 

How To Single Step Your 
Source Code And Keep Critical 
Data In View 

With SOFTWARE SOURCE PROBE, you 

can step your program by source code 
statements. While stepping, a window which 
you define can display critical high level 
data structures in your 
program. The next 
several source code 
statements are also 
displayed to give you 
a preview of what the 
program will do. 





Software 
Probe Source 


How To Display Data In 
Meaningful Formats 

Why look at program data in hex when you 
defined it to be another data type in your 
program SOFTWARE SOURCE PROBE 

provides a formatted print statement to 
make the display of your variables look like 
something you would recognize. You can 
specify data symbolically, too. 


Solving The Tough Bugs 

When the others fail, SOFTWARE 
SOURCE PROBE keeps on debugging. 

When you need isolation between the 
debugger and the program — you get 
screen switching, dual monitor support, or 
you can run the debugger from a totally 
separate CRT. When you need to get out 
of a program lock up state — you get 
recovery through the optional crash 
recovery switch box. When you want to 
trace a procedure calling sequence — you 
get a command to unthread stack nesting. 
When you want conditional sequential 
breakpoints — you get powerful LOOP, 

LOOP COUNT and IF/THEN/ELSE debug 
commands. When you want to build 
complex command sequences, you get 
Macro commands. And when you need an 
affordable debugging tool — you get 
SOFTWARE SOURCE PROBE - *129 
CRASH RECOVERY SWITCH BOX — *99. 
Then when you want to optimize the 
performance of your program — get Atron’s 
SOFTWARE PERFORMANCE AND 
TIMING ANALYZER (also *129). It gives 
you histograms of your executing program, 
counts events, and shows you all the 
execution times of given procedures. 

So why waste 
more time. 

Call Atron and 
get one of our 

BUGBUSTERS 

today... 



20665 Fourth Street 


tSBiSib 


THE DEBUGGER COMPANY 

* Saratoga, CA 95070 • 408/741-5900 


CIRCLE NO. 249 ON READER SERVICE CARD 


This library of spooler routines 
takes advantage of the module facility of 
IBM Pascal; thus, they can be compiled 
separately. A SPOOL. OBJ module can be 
created by running SPOOL.PAS through 
PAS1 and PAS2 of the Pascal compiler. 
This object module then can be merged 
with the user’s application at link time, 
eliminating needless recompiling of the 
spooler routines. 

The six spooler routines must be 
declared in the application program as 
external procedures. SPOOL.INC (see 
listing 2) contains the necessary declara¬ 
tions and can be included using the 
$INCLUDE compiler option. 

Because SPOOL.PAS makes use of 
the IBM-supplied IBMINTRP routine, the 

A set of routines written 
in IBM Pascal simplifies 
the process of accessing 
the DOS background 
print spooler. 


IBMPAS.LIB library must be specified by 
the user in addition to the PASCAL.LIB 
library when the application program 
and the spooler procedures are linked. 
If the application program is called 
MAIN.PAS, the user should specify 
main + spool as the object modules and 
ibmpas + pascal as the libraries. 

Each procedure in SPOOL.PAS in¬ 
cludes a list of values for the return 
code, which should be checked for er¬ 
rors. The GET_SPOOL_STATUS return 
codes have been changed from the er¬ 
ror codes described in function 0 to 
give RETCODE a more consistent mean¬ 
ing across the spooler procedures. 

The spooler routines should be 
used only with DOS 3.0 or later. An ad¬ 
ditional routine included in the library 
(GET_DOS_VERSION) uses the stan¬ 
dard DOS function call to determine 
the version of the operating system. 

The printer cannot be used for any 
other purpose while files are waiting in 
the queue. If the user accesses the 
printer directly before all files listed in 
the queue have been printed (by, for 
example, pressing Shift-PrtSc to print 
the screen), an “out-of-paper” or “print¬ 
er time-out” error results. 


Patrick J. Finan is a senior systems analyst 
with a degree in electrical engineering. 


190 


PC TECH JOURNAL 















LISTING Is SPOOL.PAS 


( IBM PASCAL LIBRARY > 

< SPOOL.PAS > 

( Background Print Spooler > 

( for the IBM PC > 

(Copyright <c) 1986 Patrick J. Finan > 

(SINCLUOE: •IBMINTRP.INT') 

MODULE SPOOL [PUBLIC]; 

USES IBMINTRP; 


CONST 

ERROR_MASK = 16#0001; 

TYPE 

SUBMIT_PACKET = RECORD 

LEVEL_CODE [00]: BYTE; 

FILE_OFFSET [01]: WORD; 

FILE_SEGMENT [03]: WORD; 

END; 

ASCIIZ = LSTRING(64); 

BLOCK = ARRAY [1..2048] OF CHAR; 

PROCEDURE GET_DOS_VERSION(VAR MAJOR : BYTE; 

VAR MINOR : BYTE; 

VAR RETCOOE : INTEGER); 


( MAJOR * 3 and MINOR = 10 when running under > 
C DOS 3.10. > 
( > 
( The values for RETCODE are as follows: > 
( 0 - DOS version in MAJOR and MINOR. > 
( >0 - Error encountered... MAJOR AND MINOR may } 
( not be valid. > 


VAR 

REGISTER : REGLIST; 

BEGIN (GET_DOS_VERSION> 

REGISTER.AX := 16*3000; 

INTRP(16#21,REGISTER,REGISTER); 

IF (REGISTER.FLAGS AND ERROR_MASK) = ERROR_MASK 
THEN RETCODE := ORD(REGISTER.AX) 

ELSE RETCODE := 0; 

MAJOR := LOBYTE(REGISTER.AX); 

MINOR := HI BYTE(REGISTER.AX); 

END; (GET_D0S_VERSlON> 

PROCEDURE GET_SPOOL_STATUS(VAR RETCODE : INTEGER); 
( The values returned in RETCODE are as follows: } 


( -3 - Error in status request. > 
( -2 - Spooler not available. > 
( *1 * Spooler not installed. > 
( 0 - Spooler installed and available. > 
( >0 - DOS error code. > 


VAR 

REGISTER : REGLIST; 

BEGIN (GET_SPOOL_STATUS> 

REGISTER.AX := 16*0100; 

INTRP(16*2F,REGISTER,REGISTER); 

IF (REGISTER.FLAGS AND ERROR_MASK) = ERROR_MASK 
THEN RETCODE :* ORD(REGISTER.AX) 

ELSE CASE (REGISTER.AX AND 16#00FF) OF 
0: RETCODE :» -1; 

1: RETCODE := -2; 

255: RETCODE := 0; 

OTHERWISE RETCODE : = -3; 

END; 

END; (GET_SPOOL__STATUS> 

PROCEDURE SUBMIT_TO_SPOOL(VAR FILENAME : ASCIIZ; 

VAR RETCODE : INTEGER); 

( FILENAME := ‘d:\path\path\filename.ext 1 > 


PROLOG 

APPLIED! 

The FIRST Interactive 
Prolog for the IBM 
and Macintosh. 


PROLOG/i 

A new enhanced Interactive 
Prolog for MS-DOS. $£Q95 
Upwardly compatible 
with PROLOG V and V-plus. 

PROLOG/m 

Prolog for the Macintosh! 

Edinburgh syntax. 

Floating point, 
math functions. 


$ 99 95 


THREE GREAT 
APPLICATIONS 

READY TO RUN 
NO PROGRAMMING 
EXPERIENCE NECESSARY. 

NFL X-pert $49 95 

Expert system for professional 
football handicapping. 

toolbox $ 29 95 

Including subroutines that speed 
and compress list handling, 
searches, sorts, reversal algorithms. 

toybox $ 29 95 

A collection of games and puzzles 
that make learning Prolog fun. 


MIX AND MATCH FOR ADDED SAVINGS 



PROLOG/i 

PROLOG/m 

•SAVE 

Interpreter plus... 

Toolbox or Toybox 

$ 79.95 

$109.95 

$20 

Toolbox and Toybox 

99.95 

129.95 

30 

NFL X-pert 

99.95 

129.95 

20 

NFL X-pert and 

Toolbox and Toybox 

119.95 

149.95 

30 

BUY ALL 4 AND SAVE $50 

129.95 

159.95 

50 

Applications Only 

Toolbox and Toybox 

NFL X-pert and Toolbox or Toybox 
BUY ALL 3 AND SAVE $20 

$49.95 

69.95 

89.95 





COMPATIBILITY 

Applications fully 
compatible with 
Prolog compilers 
and interpreters 
with Edinburgh 
syntax. 



CHALCEDONY 


System Requirements 

PC-DOS/MS-DOS 
Ver. 20 or later 
256K RAM 
512 Macintosh 


5580 LA JOLLA BLVD. 
SUITE 126 D 
LA JOLLA, CA 

SOFTWARE, INCJ. 2 ^ 8513 

mm ■■PHONE ORDERS: 1-800-621-0852 EXT 468 mm mm 


| □ PAYMENT ENCLOSED $_ 

CA residents add 6% sales tax 

f □ CHARGE MY: □ MasterCard 


□ Visa 


II 


Card No. 

| Signature 


Exp. Date 


I Mr./Mrs./Ms. 
s Address _ 


(please print full name) 


* City/State/Zip 


PROLOG/i $69.95 

PROLOG/m 99.95 

It you own PROLOG V or 
PROLOG V-plus, call tor 
upgrade information. 

SHIPPING. 

. $ 5.00 U.S. 

7.50 Canada 
10.00 Carribean, 

Hawaii Air 
20.00 Overseas Air 

COD Orders Not Accepted || 
. 15 day check clearance 


■K » 811*1 mm Mil 


msm sr siw ns w&m wms§ 


JUNE 1986 


CIRCLE NO. 139 ON READER SERVICE CARD 


191 



































The First Idea-Processor For Programmers. 


FirsTime 


Has features no other editor has. 


□ Fast program entry through single keystroke statement generators 

□ Fast editing through syntax oriented cursor movements 

□ Dramatically reduced debugging time through immediate syntax checking. 

□ The error checking is thorough and includes semantics • Undefined variables, 
types and constants • Assignment statements with mismatched types 

• Errors in include files and macro expansions 


□ Automatic program formatter (you specify the rules) 

O Split Screen editing □ Command DOS from FirsTime 

O Reading a file with errors moves cursor automatically to point of error 

□ Unique programmer-oriented features 

• zoom command gives top-down view of program logic 

• view macro command shows expansion of a C macro in the editor 

• view/update include file allows you to view and update an include file 

• transform command allows you to transform statements to related ones 

• search for next etror command 


Requires MS DOS, 256k (384 recommended) & 5.25” drive 



To Order Call: (201) 741-8188 or write: 
SPRUCE TECHNOLOGY CORPORATION 


PO. Box 7948 
Shrewsbury, NJ 07701 



FirsTime for Turbo Pascal $ 74.95 

FirsTime for dBase III $125.00 

FirsTime for MS-Pascal $245.00 

FirsTime for C $295.00 


FnTim. it • Iradtmwk o< Sp»oc. Ttchnolog* Cotpoubon • MS-OOS it t lftOomt.li 
Microsoft Co.po.tnon • IBM m t l.toom».k of Imorotfionti Out me« Mtchmos me 
• Vt>o Pisctf it l IrtOomarl. of Bortmj mtt»njHonM • dBm IM • t M0omt.li <* AMm-lM 


CIRCLE NO. 242 ON READER SERVICE CARD 


PROGRAMMING PRACTICES 


C The values for RETCODE are as follows: 

> 

< 0 - File successfully submitted. 

> 

{ >0 * DOS error code. 

> 

VAR 


PACKET : SUBMIT_PACKET; 


REGISTER : REGLIST; 


BEGIN CSUBMIT_TO_SPOOL> 


CONCATlFILENAME,CHR(O)); 


PACKET.LEVEL_CODE := 16#00; 


PACKET.FILE_SEGMENT := (ADS FILENAME Cl]).S; 


PACKET.FILE_OF FSET (ADS FILENAME[13).R; 

• 

REGISTER.AX := 16#0101; 


REGISTER.DS := (ADS PACKET).S; 


REGISTER.DX := (ADS PACKET).R; 


INTRP(16#2F,REGISTER,REGISTER); 


IF (REGISTER.FLAGS AND ERROR_MASK) = ERR0R_ 

MASK 

THEN RETCODE := ORD(REGISTER.AX) 


ELSE RETCODE : = 0; 


END; <SUBMIT_TO_SPOOL> 


PROCEDURE DELETE_FR0M_SP00L(VAR FILENAME : ASCIIZ; 

VAR RETCODE : INTEGER); 

L FILENAME := 'd:\path\path\filename.ext* 

> 

L The wildcard characters * and ? are valid. 

> 

(. 

> 

C The values for RETCODE are as follows: 

> 

< 0 - file successfully deleted. 

> 

C >0 - DOS error code. 

> 

VAR 


REGISTER : REGLIST; 


BEGIN <DELETE_FROM_SPOOL> 


CONCAT(FILENAME,CHR(0)); 



New for IBM PC/XT/AT 
low cost mag tape subsystem 

• Fast controller—40Kbytes/second 

• New MAINSTREAMER™ tape drive 

• Small size, lightweight 

Send for our complete drive and interface manuals so 
you can evaluate and compare. Only $25 for both. 

Tape systems are also available for all other RS-232-C 
interfaces. Call or write attn: IBEX Applications 
Engineer today. 


IBEX 


Right for the times 

IBEX COMPUTER CORPORATION 

20741 Marilla St., Chatsworth, CA 91311 
(818) 709-8100 TWX: 910-493-2071 


OVERCOME 

FORTRAN | PASCAL | C 

LIMITATIONS WITH 


$129 

NO 

LICENSE 

FEE 




Ver. 3.0 For: 

MS FORTRAN/Pascal/C 
IBM Professional 
and R-M FORTRAN 
SuperSoft FORTRAN 


NOW SUPPORTS IBM ENHANCED GRAPHICS 
AND HERCULES MONOCHROME GRAPHICS 

A library of over 90 Assembler routines transform FORTRAN, Pascal and C language 
compilers into the flexible, responsive, complete languages needed for the microcom¬ 
puter environment. Hundreds of NO LIMIT owners are creating highly interactive 
software systems, often utilizing existing mainframe code and saving time and 
money in the process. Ver. 3.0 features include: 

EXTENSIVE GRAPHICS (Get, Put, Paint, Color, Dot, Line, Box, Circle, Ellipse) 
FULL SCREEN CONTROL (Windows, Cursor, Read/Write Screen) 

STRING MANIPULATION (Match, Compare, Concatenate/Extract, Pack, Justify) 
KEYBOARD CONTROL (Read Key During Execution, String Read With Edit) 
FILE MANAGEMENT (Exist?, Rename, Delete) 

COMMUNICATIONS (Full Interrupt Driven to 9600 Baud, Set Com Line, 
Send/Receive, Line/Modem Status) 

INTERRUPTS DOS Execution, Program Execution 

OTHER FEATURES (Command Line Read, DOS 3.1 Directories, Peek, Poke, 

Random Numbers, System Status, etc.) 

And to complement NO LIMIT, the I/O PRO development system allows creation 
and editing of FORTRAN/Pascal/C callable screens. This word processor type sys¬ 
tem pays for itself several times over on your first project. $261. 


M | E | F Environmental Inc. 

P.O. Box 26537 Austin, Texas 78755 

(800) 562-9700 (512) 251-5543 (Texas) 

©Trademark of Microsoft Inc., Supersoft Inc., IBM Corporation, Ryan-McFarland and Microsoft Inc., respectively. 


CIRCLE NO. 149 ON READER SERVICE CARD 

192 


CIRCLE NO. 133 ON READER SERVICE CARD 

PC TECH JOURNAL 






































REGISTER.AX :* 16#0102; 

REGISTER.DS : = (ADS FILENAME[1}).S; 

REGISTER.DX := (ADS FILENAMEC1]).R; 

INTRP(16#2F,REGISTER,REGISTER); 

IF (REGISTER.FLAGS AND ERROR_MASK) = ERROR_MASK 
THEN RETCODE := ORD(REGISTER.AX) 

ELSE RETCODE := 0; 

END; CDELETE_FROM_SPOOL) 

PROCEDURE CLEAR_SPOOL(VAR RETCODE : INTEGER); 

i The values for RETCODE are as follows: > 

{ 0 - spool cleared. > 

{ >0 - DOS error code. } 

VAR 

REGISTER : REGLIST; 

BEGIN <CLEAR_SPOOL> 

REGISTER.AX := 16#0103; 

INTRP(16#2F,REGISTER,REGISTER); 

IF (REGISTER.FLAGS AND ERROR_MASK) = ERROR_MASK 
THEN RETCODE := ORD(REGISTER.AX) 

ELSE RETCODE := 0; 

END; <CLEAR_SPOOL> 


PROCEDURE GET_SPOOL_QUE(VAR QUE_BUFFER : BLOCK; 


VAR RETCOOE 

: INTEGER); 

{ This routine will return the current 

DOS print } 

{ queue in QUE_BUFFER. 

> 

< 

> 

{ The values for RETCOOE are as follows 

: > 

i 0 - request was successful. 

> 

{ >0 - DOS error code. 

> 


VAR 

REGISTER : REGLIST; 

DOS_BUFFER : ADS OF BLOCK; 


BEGIN {GET_SPOOL_QUE> 

REGISTER.AX := 16#0104; 

INTRP(16#2F,REGISTER,REGISTER); 

IF (REGISTER.FLAGS AND ERROR_MASK) = ERROR_MASK 
THEN RETCODE := ORD(REGISTER.AX) 

ELSE RETCOOE := 0; 

DOS_BUFFER.S := REGISTER.DS; 

DOS_BUFFER.R := REGISTER.SI; 

MOVESR(DOS_BUFFER, ADS QUE_BUFFER[1], 2048); 

REGISTER.AX := 16#0105; 

INTRP(16#2F,REGISTER,REGISTER); 

END; <GET_SPOOL_QUE> 

END. 

LISTING 2: SPOOL.INC 

TYPE 

ASCIIZ = LSTRING(64); 

BLOCK = ARRAY[1..20483 OF CHAR; 

PROCEDURE GET_DOS_VERSION(VAR MAJOR : BYTE; 

VAR MINOR : BYTE; 

VAR RETCODE : INTEGER); EXTERN; 

PROCEDURE GET_SPOOL_STATUS(VAR RETCOOE : INTEGER); EXTERN; 

PROCEDURE SUBMIT_T0_SP00L(VAR FILENAME : ASCIIZ; 

VAR RETCODE : INTEGER); EXTERN; 

PROCEDURE DELETE_FROM_SPOOL(VAR FILENAME : ASCIIZ; 

VAR RETCODE : INTEGER); EXTERN; 

PROCEDURE CLEAR_SPOOL(VAR RETCODE : INTEGER); EXTERN; 

PROCEDURE GET_SPOOL_QUE(VAR QUE_BUFFER : BLOCK; 

VAR RETCODE : INTEGER); EXTERN; 


JUNE 1986 



Do you know where 
your files are? 


Lost on the Disk ? Tired of the search ? 

Say Hello to SCOUT— The first memory-resident disk directory utility 
that lets you do all this: search, view, move, delete, copy, organize, 
format, sort, create, and TAKE CONTROL of your directories and 
printer without leaving your working program. Easy-to-use windows 
pop-up making SCOUT'S commands just a KEYSTROKE AWAY! 
SCOUT is perfect for hard disks and floppy systems, too. In fact, 
SCOUT is the only disk directory utility that can format a floppy disk 
from within a resident program—AT TWICE DOS SPEED! 

SCOUT works like SIDEKICK— SCOUT works WITH SIDEKICK. 

In fact, SCOUT works with most major programs including dBase III, 
Lotus 1-2-3, SuperCalc 3, WordStar, WordPerfect, Turbo Pascal, 
Enable, and Sidekick. circle no. 140 on reader service card 


WHY SETTLE “ 
FOR LESS? 


Memory Resident 

Remove from memory without reboot 
Memory resident disk formatter 
Move to directories 
User selection of activation key 
Move files 

Mass file copy, delete 

Search for dies 

Multiple file sorts 

Display directories 

Alter tile attributes 

Change default directory 

Display disk space 

View text files 

Set printer control codes 

Pop-up windows 

Display directory using file masks 

Single-key commands 

Create/remove directories 

Tag, untag, and retag files 

Rename files 

Rename directories 

Cumulative We tag totals 

Edit or delete volume labels 

Print location of files found in search 

Print directory catalog 

Print listing of tiles in any directory 

Show CAPs and NUMLOCK status 

Display lull day, date, time 

Display DOS version 

Change sort type dynamically 



INTRODUCTORY 

OFFER 

$ 49 95 

NO RISK OFFER 

30-Day Money-Back 
Guarantee if not 
thoroughly satisfied 

SYSTEM REQUIREMENTS 
IBM PC and compatbles 
SCOUT loads in just 128K 
with DOS 2.00 

Supports color and mono¬ 
chrome monitors, and 
Hercules Graphic Cards 




CHALCEDONY 
SOFTWARE, INC. 

5580 LA JOLLA BLVD. 
SUITE 126-T 
LA JOLLA, CA. 

92037 


PHONE ORDERS: 1-800-621-0852 EXT468 


!□ PAYMENT ENCLOSED $ .. 

!□ CHARGE MY: □ MasterCard □Visa 
| Card No._Exp. Date_ 

J Signature_ 

1 Name_ 

B Address_ 

I City/State/ZIP_ 

I Day Phone_ 


*■1 


SCOUT $49.95 

CA Residents 

(sales tax) 3.00 

Shipping 

(see below) _ 

Total _ 

SHIPPING 

$ 5.00 US/Canada 
Surface 
7.50 US Air 
10.00 Overseas Air 

NO COD ORDERS ACCEPTED 
DEALER INQUIRIES WELCOME- 
Special Demonstration 
Package Available 



















































Need to design a 

graphics presentation? Communicate with 
other PCs? Access a database? Find out 
how in PC’s expertly written articles. 

How are successful 

professionals and companies using their 
PCs? Find out in PC’s “Pro Columns” and 
use their proven techniques to move ahead 
in your own career. 

Subscribe to PC today. Build your own IBM PC 
reference library by volume and save up to 50% 
off the regular one-year subscription price! 

• One year (22 issues) only $21.97. (Save 37%). 

• Two years (44 issues) only $34.97 (Save 50%). 

To order, complete attached j f ! H 
order card or call, toll-free, | af R 


Taken one issue at a time, PC is the best 
source of up-to-date news and information 
about the IBM PC you can find anywhere. 

But collect a few. and suddenly you realize 
that you’ve assembled a comprehensive 
reference work covering every significant new 
IBM PC application, product and development. 
An encyclopedia you receive 22 times a year! 

Each volume of PC contributes the latest 
information on a wide variety of subjects 
including: 

® New Product What’s the latest in 
printers, word processing software and 
database managers? And what’s best 
for your needs? Everything you need to 
know is in PC’s special reports and 
product reviews. 


8ZC67 
















PRODUCT WATCH 


Reviews 

and 

Updates 



ZIM RELEASE 2.5 

Zanthe Information, Inc. 


B taketwo VERSION 1.0 

| United Software Security 



BASIC DEVELOPMENT 
SYSTEM 

BetaTool Systems 



WHITESMITH S C 
COMPILER 3.01 

Whitesmith’s Limited 


THE FOREMOST BODY OF 




Enter my subscription to PC Mago&ne 
as indicated below'* 

□CeS") '0,4*34.91^ A 5 ««s 

oft the regular subscripts® price. ^ UKr 

Check one: □ Payment Enclosed 


Name 


Company 
Title 


Address 



City-- , p r ease allow up to 60 days for 


^T-TcOTirsTTimTagement. Previous 


versions of ZIM allowed application 
programs to paint multiple (nonover¬ 
lapping) forms on the screen for simul¬ 
taneous viewing. However, only with 
brute force could a ZIM programmer 
treat the forms as a group. Now, under 
version 2.5, as many as 30 separately 
developed forms can be composed into 
a single display, which is treated as a 
unit by ZIM programs and by the ZIM 
forms manager. 

The real power of the displays 
facility lies in its ability to show multi¬ 
ple instances of the same form, ar¬ 
ranged either vertically or horizontally 
across the screen. By replicating a form 
within a single-screen display, a busi- 


set-building commands 
now include the keep operator, which 
performs the relational project opera¬ 
tion by discarding unwanted columns 
and duplicate row values as a set is 
built. By eliminating superfluous data 
during set construction, keep speeds 
the process and reduces storage re¬ 
quirements for result sets. A new com¬ 
pute verb also speeds set operations by 
allowing commands to cull summary 
statistics from sets without actually con¬ 
structing the set first. 

ZIM’s ability to deal cleanly with 
absent data distinguishes it from most 
other data managers and programming 
languages on the market. Most systems 
require that a special value, such as 0 
or the empty string, be reserved by ap- 


lexliperations compactly. In ZIM, em¬ 
bedded assignments are most useful in 
nonprocedural contexts, such as user 
commands or report specifications. 

The new manual is as precise and 
succinct as was its predecessor, but it 
treats novices to the program more 
gently. The improved organization and 
clear tutorials make ZIM more access¬ 
ible to first-time users who may lack an 
extensive computer science back¬ 
ground. In addition, amenities., such as 
section dividers and boldface page and 
topic headings, help to speed quick-ref¬ 
erence use of the manual. 

ZIM 2.5 is available free to users of 
version 2.4 licensed under Zanthe’s soft¬ 
ware subscription program. Other 2.4 
users can upgrade for $100. 

—RICHARD M. FOARD 


JUNE 1986 


195 

































PRODUCT WATCH 



BASIC DEVELOPMENT SYSTEM 

BetaTool Systems 
8972 East Hampden Avenue, 
Suite 179, Denver, CO 80231 
303/793-0145 

PRICE: $125 


M uch of the pain users experience 
when trying to get a big program 
off the ground now can be alleviated 
with the BASIC Development System 
(BDS). This product adds to the pro¬ 
gramming and debugging aids offered 
by the IBM BASIC system. 

BDS is comprised of seven parts. 
XBASIC consists of a collection of mis¬ 


cellaneous helps, including command 
abbreviations, such as E (EDIT), L 
(LIST), P (LLIST), and D (DELETE). The 
U (Un-NEW) command undoes the 
work of NEW, provided the user has 
not exited to DOS with the SYSTEM 
command. Even more convenient are 
the several scrolling commands. These 
allow the listing of a program either by 
pages or a line at the time, both back¬ 
wards and forwards. For example, Ctrl- 
PgUp lists the first page of a program 
on the screen; repeated PgDns list suc¬ 
cessive pages of the program. 

SYSTEM TRON [LINE] [line num¬ 
ber] produces a single-step trace of a 
BASIC program. Line number is an op¬ 
tional parameter that directs single step¬ 
ping to begin at that location. If LINE is 
included, the line number of TRON is 
expanded to include the actual instruc¬ 
tion. Line numbers and entire lines are 
displayed at the top of the screen; in¬ 
struction display mode is toggled off 
and on with the gray minus key. 

The utilities of BDS also include 
XREF, which lists all constants, line 
numbers, and variables along with the 
line numbers of their occurrences in 
the program. If a variable is modified in 
the instruction on a particular line, the 
line number is listed with an asterisk. 


pERSTOR” 


Removable Hard Disk Cartridge Expansion Systems 

BERNOULLI ALTERNATIVE! 

I High Performance Fixed and Removable from 10 to 560 mbyte 


rngmmmmmmSSm 


■ Internal or 
external mount 


illlll 
! 'III ■: 


■ The only Removable Hard Disk Cartridge Drive that attaches 
directly to the IBM PC-AT Controller*—internally mounted 

pERSTORiM) p roc j uc ts provide portability, storage and backup for 
IBM-PC, AT, XT and compatibles. 

DOS, Xenix, Multi-User and Networks 

Dual removables 12MB/12MB external $2,350.00 

SYSTEMS & SOFTWARE, INC. (602) 948-7313 
7825 East Redfield Road, Scottsdale, AZ 85260 

‘Patent Pending Copyright 1985 Perstor*® is a trademark of Systems and Software, Inc. 
IBM-PC, AT, XT, are registered trademarks of International Business Machines Corp. 


CIRCLE NO. 231 ON READER SERVICE CARD 


Other parameters show, for example, 
the number of occurrences of the name 
of the variable in a particular line. XREF 
is most useful because it lists mis¬ 
spelled variables as well as those that 
are correctly spelled, and it saves the 
user from line-by-line proofreading for 
typographical errors. 

FIND scans a BASIC program and 
produces a listing of strings or BASIC 
key words. F. REM, for example, lists 
lines containing remarks, even if an 
apostrophe is used instead of REM to 
denote remark lines. F, REM lists its 
findings on the printer. F. sends BASIC 
key-word references, such as FOR, 
GOTO, +, =, and >, to the screen. 

VARIABLE DUMP, another utility in-, 
eluded with BDS, is very helpful in de¬ 
bugging and can be used along with 
single stepping. The current values of 
all variables can be listed on the screen 
with V., while V, sends the output to 
the printer. The names of specific vari¬ 
ables can be included as parameters in 
order to limit the amount of informa¬ 
tion that is printed or displayed. A sim¬ 
ple V repeats the previous command 
with the same parameters. 

COMPRESS allows BASIC to occupy 
less space in memory. Unnecessary 
blanks are removed in the process, and 
as many instructions as possible are 
packed onto a single line and separated 
by colons. UNCOMPRESS reverses the 
process, as much as it is able. Figure 1 
shows a small BASIC program of nine 
lines. With COMPRESS (H is the oper¬ 
ator symbol), this program can be 
squeezed onto two lines, and the byte 
count can be reduced by nearly half. 
UNCOMPRESS (I is the operator) can 
restore the program to the original 
expanded form (with a few more bytes 
because of the insertion of variable type 
definition symbols and the use of 
indenting). Compression can save 30 to 
40 percent in storage space and 7 to 10 
percent in running time. 

Testing the VARIABLE DUMP utility 
using the V. operator on the expanded 
test program after execution results in 
the following output: 

V. 

126 

A ! 108 

I % 9 
J % 10 

Three variables had been defined 
in the test program: A, /, and J. A is a 
single-precision variable with a current 
value of 108. / and J are integers with 
current values of 9 and 10, respectively. 


196 


PC TECH JOURNAL 























FIGURE 1: Compression 



The BDS compresses a BASIC program 
listing very efficiently—the sample file 
is reduced from 119 bytes to 63 
bytes. The re-expansion helps to pro¬ 
vide a clear listing. 


An example of the cross-reference fea¬ 
ture follows: 

X. 

0 120 

1 121 122 

5 126 

8 121 

9 122 

1.5 123 

“120 126 

A * 120/! * 123/12 

I 102 *121/% 125/% 126/% 

J 102 *122/% 124/% 

This shows, for example, that the inte¬ 
ger / appears on lines 102, 121, 123, 
and 126; it is unmodified on line 102. 

Note that the constant 0 appears in 
line 120 of figure 1, the constant 1 ap¬ 
pears in two lines, and the value of A is 
altered in lines 120 and 123. A appears 
twice in line 123, hence the 2 . (The 
slashes in the figure are meant to act as 
separators between the line numbers 
and the variable type designators.) 


ATTENTION C-TREE* USERS! 

The Portable Application Support System provides 
on-line query, screen I/O, report generation, and 
form generation with no sacrifice in portability! 

• Query system allows end user on-line data inquiry 
and ad-hoc report generation 

• Source code • Menu and data inquiry utilities 

• No royalties on application programs or on exe¬ 
cutable versions of the Query System 

• Uses C-tree* portability conventions 

• Complete windowing capability in a portable system. 
Configuration files included for IBM PC, MS-DOS 
generic(ANSI), and Xenix systems 

• Multiple window Screen I/O system $3 95 ■ 0 0 

• Single/multiple line report generator 

• Page oriented form generator with automatic pag¬ 
ination of variable length documents 

• Other source code programs available. Call for 
information. 

VISA/Haster Charge accepted 

‘KgRTZBERO ,,,0> 

Gompvter Systems 

*C-tree is a trademark of FairCom 


CIRCLE NO. 148 ON READER SERVICE CARD 


HS-DOSg UNIX MPtPQJi MAC QIP/DOg 

NETWORKS §]00(3 DaStBtlo 
©C3S Quires® ISAM E)©SS UKBK] MLDS 


The creator of Access Manager™ brings you the 
most powerful C source code, B+ Tree file handier: 

• multi-key ISAM and low-level B+ Tree routines 

• complete C source code written to K&R standards 

• single-user, network and multi-tasking capabilities 

• fixed and variable record length data files 

• virtually opened files accommodate limited file descriptors 

• no royalties on application programs 


S395 COMPLETE 


Specify diskette format: 

• SVa" MS-DOS 

• 8" CP/M 

• 3 Vi" Mac 

• 8" RT-11 



For VISA, MC and COD orders 
call (314) 445-6833 
FairCom 
2606 Johnson Drive 
Columbia, MO 65203 

© 1985 FairCom 


The following are trademarks: c-tree and the circular disk logo—FairCom; MS—Microsoft Inc.; 
CP/M and Access Manager—Digital Research Inc.; Unix—AT&T; Apple—Apple Computer Co. 


CIRCLE NO. 119 ON READER SERVICE CARD 


JUNE 1986 


197 


















PRODUCT WATCH 


Learn and Use AI Technology 
In Your First Evening 
With PROLOG-86 



A complete Prolog Interpreter , Tutorial , and set of Sample Programs: 


□ Write Symbolic Math or Abstract 
Problem Solving Applications 

This is a complete Prolog program to 
convert from Farenheit to Centigrade: 
f_to_c(C,F):- C is(F-32) *5/9. Planning 
programs and games are included to 
help you learn. 


□ Modify and write Expert Systems. 

Use the simple “Guess the animal” 
example on the Tutorial or use the 
sophisticated system for Section 318 of 
the US Tax Code written by one of the 
PROLOG-86 authors and published 
in the March, 1985 issue of Dr. Dobb’s 
Journal. 

□ Understand Natural Language 

Use the sample program that produces 
a dBase DISPLAY command as output. 

Programming experience is not required, but a logical mind is. 

Prolog-86 Plus for $250 adds: Windowing, 8087, 640K memory access, random access 
files, strings support and definate clause grammar. 

RECENT IMPROVEMENTS: Floating point support, MSDOS commands, on-line 
help, load Editor. 

AVAILABILITY: All MSDOS, PCDOS systems. 


□ BECOME FAMILIAR WITH 
PROLOG IN ONE EVENING. 



.Solution 
<Systefns 1 


335-P Washington St. 
Norwell, Mass. 02061 
617-659-1571 
800 - 821-2492 


CIRCLE NO. 126 ON READER SERVICE CARD 



The last of the BDS utilities, SUPER 
RENUM (R), allows the user totally or 
partially to renumber a program. By in¬ 
cluding the proper parameters, the user 
can move lines or blocks of code from 
one position to another within a pro¬ 
gram. After they are moved, the lines 
are renumbered to fall in proper se¬ 
quence according to the new location. 

The distribution disk for the IBM 
version of BDS contains the files 
needed for each release of DOS/BASIC. 
The IBM-compatible version of the dis¬ 
tribution disk includes files for several 
different machines and versions of 
DOS/BASIC. The appropriate file is 
copied to the BASIC disk, and its name 
is changed to BDS.COM. The file, along 
with BASIC, is loaded into memory 
using the command BDS M BASICA (for 
BASICA). BDS is then resident in mem¬ 
ory and available as long as the user 
does not exit to DOS. BDS also can be 
used in a disk resident mode (BDS D 
BASICA) if memory is in short supply. 

Serious BASIC programmers will 
find a helpful set of tools in BDS to 
make their use of the language much 
more efficient. The documentation is 
good, but it could use a few more 
examples. The program is machine-spe¬ 
cific, and different versions are available 
for various IBM compatibles. 

—PAUL HULTQUIST 



TAKETWO VERSION 1.0 

United Software Security 

8133 Leesburg Pk, Vienna, VA 22180 

703/556-0007 

PRICE: $89.95 


CIRCLE 350 ON READER SERVICE CARD 


T akeTwo, a hard-disk backup pro¬ 
gram, is part of a new genre of ac¬ 
cessory software. Programs of this type 
satisfy a single, well-defined need, 
usually for less than $200. Other popu¬ 
lar examples of accessory software in¬ 
clude Sideways from Funk Software, 
Inc., Borland’s SideKick and Turbo 


198 


PC TECH JOURNAL 
















Lightning, and Fastback, another backup 
utility, from Fifth Generation Systems. 
(Fastback was PC Tech Journals Octo¬ 
ber 1985 Product of the Month.) 

TakeTwo can be compared to the 
five disk backup programs reviewed in 
the March 1986 issue of PC Tech Jour¬ 
nal (“Backup Utility Performance” 
(Steven Armbrust and Ted Forgeron, p. 
78): BackTrack from Tallgrass Software 
Technologies; BAKUP from Software In¬ 
tegration, Inc.; DSBackup from Design 
Software, Inc.; Dump/Restore from Cog¬ 
itate, Inc.; and Fastback. Like these pro¬ 
grams, TakeTwo is a replacement for 
DOS BACKUP and RESTORE and is 
much faster and more convenient to 
use than those commands. 

TakeTwo features a unique system 
configuration screen. In addition to set¬ 
ting up the routine configuration 
parameters, the user can choose from a 
variety of noises that will signal when it 
is time to insert a new backup diskette. 
The choices include the common PC 
speaker beep, a trumpet charge, door¬ 
bell chimes, and a siren. In addition, 
with the system configuration screen, a 
user can instruct TakeTwo to perform 
an incremental backup daily and a full 
backup once a month. When TakeTwo 
is invoked, it checks the date and de¬ 
cides which type of backup to perform. 

While backing up files, TakeTwo 
makes good use of the screen display. 

In addition to letting the user know 
which file and directory currently are 
being copied to disk, TakeTwo displays 
a kilobyte-per-minute indicator as well 
as the percentages of disks, directories, 
files, and bytes that have been copied. 
The program also displays bars that 
slowly change to high intensity as the 
diskettes are filled. 

TakeTwo allows the user to select 
options from menus or to run the pro¬ 
gram from a command line. It also can 
be run from a batch file. 

TakeTwo does not provide on-line 
help or printed reports, but it does pro¬ 
vide an alternative to a print-out: the 
history screen, which displays a com¬ 
plete file catalogue with backup dates. 
TakeTwo uses the standard DOS COPY 
command; as a result, file compression 
is not possible. TakeTwo can perform 
read-after-write verify on both BACKUP 
and RESTORE by typing the DOS com¬ 
mand VERIFY ON. TakeTwo disks can 
be reused without reformatting. 

Although the user’s manual does 
not mention that TakeTwo is copy pro¬ 
tected, the fact that it is became appar¬ 
ent during installation—the program 
uses the Softguard SuperLok technolo¬ 


gy. TakeTwo does not require a key 
disk inserted in drive A: to start the pro¬ 
gram, but the user is limited to two in¬ 
stalls, and, worse, the user’s manual 
does not describe how to do an unin¬ 
stall if the user needs to move the pro¬ 
gram to another hard-disk drive. The 
uninstall procedure is possible by run¬ 
ning the INSTALLH.COM program, 
which is included on the TakeTwo dis¬ 
tribution disk, with a /U parameter (for 
uninstall); this rids the hard disk’s root 
directory of SuperLok’s hidden files and 
increases TakeTwo’s remaining install 
count from one to two. 

TakeTwo uses standard DOS for¬ 
matted diskettes. If the user runs out of 
formatted diskettes in midstream, 
TakeTwo will format the disks as they 
are inserted without forcing the user to 
start the backup again. At the beginning 
of a backup session, TakeTwo estimates 
how many diskettes will be needed. 
However, this count is not always accu¬ 
rate. During testing, TakeTwo claimed 
that fourteen 1.2MB diskettes would be 
needed to back up a 20MB, 6-MHz AT; 
the procedure actually required 16. 

The program has three modes of 
operation: full, modified, and automatic. 
In full mode, all files on the hard disk 
are backed up regardless of whether or 


not they have been changed since the 
last time they were backed up. Modified 
mode backs up files that have changed 
since the last backup. In automatic 
mode, TakeTwo figures out whether it 
should do a full or a modified backup 
and prompts the user to insert the ap¬ 
propriately numbered disk. 

Like BAKUP and Fastback, TakeTwo 
stores all backups (full, modified, or 
automatic) on a single set of numbered 
disks. This relieves the user from the 
task of keeping track of multiple sets of 
disks and worrying about which set has 
the latest copy of a file. 

Speed is of great importance for 
disk backup programs. The faster the 
program, the more often the user is 
likely to use it. The benchmark used in 
“Backup Utility Performance” was used 
again to measure performance for this 
review. The benchmark tests how long 
it takes to back up a 20MB, 6-MHz AT 
with 1,895 .files and 62 directories. The 
test was performed on a machine run¬ 
ning DOS 3.1 with BUFFERS = 20. 

TakeTwo does not set any perform¬ 
ance records; the program took 28 min¬ 
utes 46 seconds to execute the bench¬ 
mark. This time beats that of BackTrack, 
BAKUP, and Dump/Restore, but it is 
almost three times slower than that of 


Itarbo Pascal Programmers: 


Turbo-Task allows any Itarbo Pascal Program to 
run in Foreground or Background 

Turbo-Task will make your program resident in memory just like Sidekick, but with one big difference: your program can also 
operate in background! Turbo-Task is simple to use and complete in its operation. You only add two lines to your source code. 
Turbo-Task takes responsibility for all multitasking duties. You specify the invoke key that will bring the program to the 
foreground (it will pop up just like Sidekick) and you specify a time-slice weight the program will have when operating in 
background. A non-zero weight will allow the program to continue operation if the user moves it to the background. It will still 
have full access to disk and printer. When it completes its job, (i.e. processing data on disk and printing a report), it has the option 
to reset its weight to zero, thus remaining dormant until the user presses its invoke key and brings it to the foreground again. 
Meanwhile, the user has been running other software undisturbed by this background task. Up to 16 programs can use 
Turbo-Task at the same time, each with its own invoke key, independent foreground window, and time-slice weight. You do not 
need to understand multitasking theory to use Turbo-Task. All the work is done for you. Turbo-Task does not interfere with 
SIDEKICK. Works with TURBO EDITOR and GAMEWORKS. 


Ram-Page provides a Virtual 
Screen of any Size 

Ram-Page takes heap space to create up to 16 pages that can 
be used as virtual screens. The dimensions you select are only 
limited by system memory. 256k of heap could be allocated to 
a single Page with 80 chars by 1600 lines! All of Turbo's text 
handling routines will operate on the Pages. Write, Writeln, 
ClrScr, ClrEol, InsLine, DelLine, Window, and Gotoxy will be 
redirected to work on the Page you specify. View-Page allows 
you to display any portion of a Page on the screen. This "view 
window" is automatically updated as writes are made to the 
Page. These windows can appear, disappear, move, and overlap. 
Text written to a hidden window will be there when the 
overlapping window disappears. Text can be moved between 
pages. Foreground and background attributes are maintained 
separately for each Page. Ram-Page also provides two new 
routines: InsColumn and DelColumn. 


Ibrbo-Liiiker breaks the 64k 
Code Segment Barrier 

Turbo-Linker performs two important functions: it allows your 
program to grow beyond 64k, and it eliminates the need to 
continually recompile debugged routines. Turbo-Linker will 
convert a set of your procedures into a module that can be 
loaded into the heap at run time. These procedures will operate 
in the heap thus freeing space in the code segment for the 
main program. In effect, it is using the heap for overlays, 
except these "overlay" module can be shared by any number 
of programs. Once you create a module, you never have to 
recompile it. You can maintain a library of modules of your 
frequently used procedures. There is no limit on the number 
of modules that can be loaded or the number of routines in 
any module. A loaded module can be "disposed" and a new 
module loaded in its place. Handles global variables. Allows 
calls between modules. 


All these utilities-ONLY $70 


Tangent! 


180 North Wacker Drive • Suite 350 • Chicago, IL 60606 • (312)263-0024 
MC/VISA Requires Turbo 3.0 for PC compatibles 

Turbo Pascal, Turbo Editor, Gameworks and SideKick are trademarks of Borland Inti. 


JUNE 1986 


CIRCLE NO. 206 ON READER SERVICE CARD 


199 















Block 

software 

theft... 

with 

THE BLOCK 


Patented protection for your profits, 


Software-based security systems can be cracked too easily. 

But now there’s THE BLOCK,® an inexpensive device you 
supply with your software and without which it will not 
function. 

Users simply plug THE BLOCK into an external port of 
their PC, where it is totally transparent. However, 
commands you program into your software check for the 
presence of the device before allowing your program to run. 

What’s more, THE BLOCK has the added protection of a 
U.S. Government patent to prevent mass distribution of 
illegal “work-alikes.” 

THE BLOCK also lowers the price of security. Prices 
range from $39 for single units to $24 for quantities over 
1 , 000 . 


So give your product investment the unmatched protection 
of THE BLOCK. Send today for complete information and a 
demonstration unit—or to get it even faster, phone us at 
(203) 329-8870. 

And block those hackers from hacking holes in your 
software profit plans. 


Software Security, Inc., 870 High Ridge Rd., Stamford, CT 06905. 


WHITESMITH’S C COMPILER 3.01 

Whitesmith’s Limited 

97 Lowell Road, Concord, MA 01742 

617/369-8499 

PRICE: $1,000 


CIRCLE 352 ON READER SERVICE CARD 


CIRCLE NO. 173 ON READER SERVICE CARD 


PRODUCT WATCH 


Fastback. An incremental backup of a 
single 38KB file took 3 minutes 8 sec¬ 
onds. Of that time, TakeTwo spent 
more than 2 ^ minutes scanning the 
directory structure on the disk to see if 
any hies needed to be backed up. 
Another 20 seconds was spent updating 
the catalog on both the backup disk and 
the hard disk. During the catalog 
update, TakeTwo warns the user not to 
remove the backup diskette. 

TakeTwo is a solid product. It is 
simple to use and rich in features. It 
compares favorably with Fastback be¬ 
cause, while Fastback is three times as 
fast, it is also three times as expensive. 

—TED FORGERON 


W hile most vendors are working to 
establish a C standard, the White¬ 
smith C compiler maintains its own 
libraries and operating system inter¬ 
faces. Some programmers appreciate 
the low-level power of the Whitesmith 
implementation, but many see only the 
compatibility snags. 

When the Whitesmith compiler is 
compared with other C compilers cur¬ 
rently available on the market (see “The 
State of C,” William J. Hunt, January 
1986, p. 82), several fundamental differ¬ 
ences are evident. (See table 1 for the 
basic specifications of the Whitesmith 
compiler and table 2 for a summary of 
the compiler’s functions.) 

More so than other compilers, 
Whitesmith’s C assumes that the user is 
a professional software developer who 
understands how the compiler is con¬ 
structed. Furthermore, the Whitesmith 
implementation places greater emphasis 
on portability than do the others. The 


200 


PC TECH JOURNAL 

















ANNOUNCING 


TABLE 1: Whitesmith's C Specifications 


VERSION TESTED 

3.01 

SUPPORTED ON OTHER SYSTEMS 

See text 

CROSS-COMPILER HOSTS 

See text 

AVAILABILITY OF ADD-ON LIBRARIES 

Poor 

MINIMUM DISK SPACE REQUIRED 

1.8MB 

MINIMUM RAM 

236KB 

SUPPORTS FULL LANGUAGE 

Yes 

FULL STANDARD LIBRARY 

Yes 

PC-SPECIFIC FUNCTIONS 

Yes 

ASSEMBLY LANGUAGE INTERFACE 

Yes 

COMPATIBILITY 


MASM 

No 

LINK 

No 

SOURCE CODE 


Start-up sequence 

No 

Library functions 

No 

MEMORY MODELS 


Large 

Yes 

Medium 

Yes 

Compact 

Yes 

Small 

Yes 

COM 

Yes 

OTHER PROGRAMS INCLUDED 


Librarian 

Yes 

Assembler 

Yes 

Linker 

Yes 

Source-level debugger 

No 

MAKE 

Librarian 

Other 

PR, etc. 

These specifications can be compared with those for other C compilers listed in 


table 1 in “The State of C” by William J. Hunt (January 1986, p. 84). 



Whitesmith’s C is portable to Whitesmith compilers on 30 different machines. The 
three complete libraries included with the compiler account for its 1.8MB size. 


compiler is available in more than 30 
different versions, each designed for 
various combinations of host and target 
computers. Host operating systems 
supported include UNIX, VAX VMS, 
CP/M-80 and CP/M 68K, AMOS, and 
Idris, as well as DOS. 

In addition, differences exist 
between Whitesmith’s C and other C 
compilers in the runtime environment 
and the construction of the compiler 
and development tools. 

The defined runtime environment 
for Whitesmith’s C is a generic set of 
functions that map across all the target 
computers supported. This creates con¬ 
fusion because the names of many of 
these functions do not correspond to 
the names of the UNIX equivalents. In 
addition, some basic functions such as 
OPEN, CLOSE, READ, and WRITE have 
the same names as the UNIX equiva¬ 
lents, but different parameters. As a re¬ 
sult, a UNIX-based C program is not 
easily converted to the Whitesmith envi¬ 
ronment, especially if the program per¬ 
forms nonbuffered I/O using READ(), 
WRITE(), or other low-level services. 


Whitesmith uses a prototype file 
with the compiler’s development tools 
to tell the preprocessor, the compiler 
stages, and the linker which files to pro¬ 
cess and which options to use. Most 
other C compilers use switches to 
accomplish this task. The prototype file 
is more flexible than switches, but also 
much more difficult to use. The syntax 
of the file resembles that of a job con¬ 
trol language used on a mainframe that 
is a myriad of possible options, flags, 
and steps. In a team development envi¬ 
ronment, several prototype files might 
be maintained to support different com¬ 
pilation options. With a single user or 
small group, this maintenance task is 
much more trouble than it is worth; 

Whitesmith’s C is contained on sev¬ 
en disks that are shipped in two fabric- 
covered looseleaf binders. The first six 
disks contain the current release of the 
compiler; the seventh contains replace¬ 
ment hies that can be used to correct 
program bugs. The documentation in 
the first binder covers the basics of the 
compiler’s operation and support for C. 
The second binder documents the PC- 


ZIPCALC 

FOR 

TURBO PASCAL™ 

Capability to go from screen to screen 
in a fraction of a second will provide 
your software the decisive competitive 
edge - ZIPCALC makes this possible 
for both text and numbers. 


INSTANT TEXT DISPLAY 

Standard Pascal "write" procedure 
takes several seconds to fill the screen 
with text data. ZIPCALC fills the 
screen with the same text in less than 
1/10 second. Full instant windowing 
capability is also included. 

ULTRA FAST NUMBER DISPLAY 

Writing real numbers adds crucial time 
to convert the number to a printable 
string. ZIPCALC removes this time 
barrier by providing a 32-bit Long 
Integer data type that converts to a 
printable string 7 times faster. 

HIGH SPEED COMPUTATION 

The Long Integer data type is the ideal 
alternative to the real data type for a 
wide variety of financial and other 
applications because of its dramatic 
increase in computation speed. 
ZIPCALC provides a full assortment of 
procedures and functions for Long 
Integer arithmetic, shifts, compares, 
conversions to other data types, and 
full string conversion (decimal, dollar, 
hex, binary). ZIPCALC puts the power 
of a 32-bit processor at your fingertips 
in convenient Pascal callable form. 

EASY TO LEARN • EASY TO USE 

ZIPCALC consists of 35 highly 
optimized procedures and functions, 
most assembler coded. Tutorial User's 
Guide, programmed demonstrations, 
and many examples make ZIPCALC 
easy to learn and easy to use. 

IBM PC & TRUE COMPATIBLES 


$45 including N.Y. sales tax & shipping 


DYNAMOS 

MICRO-DATA SYSTEMS. INC. 



1045-T Gravel Road 
Webster, N.Y. 14580 
(716) 671-5866 



Turbo Pascal is a registered trademark of Borland 
International Inc. 


CIRCLE NO. 104 ON READER SERVICE CARD 


201 


JUNE 1986 


















The Answer 
to your 
Debug g ing 
Problems 


PDT 


PDT is a hardware-assisted debugger 
for the IBM-PC/XT and AT* families 
of personal computers. 


TRAPS WRITES INTO CODE 
AREAS 


MANUAL BREAK SWITCH 


EASY TO USE—On-line HELP with 
a screen oriented display. 


KEY FEATURES: 

• Hardware and software break¬ 
points 

• Real-time trace 

• Symbol and line number support 

• Source-level debugging 

• On-line symbolic assembly and 
disassembly 

• Macros with parameters 

• Automatically tracks breakpoints 
in overlayed code (PLINK86)** 


ALSO AVAILABLE as stand-alone 
software debugger RBUG86. 


For further information, please con¬ 
tact: 


Amv&i Sofcfiwue 

Corporation 

20863 Stevens Creek Boulevard 
Cupertino, CA 95014 
(408) 253-7515 


♦IBM-PC/XT/AT are registered trademarks of Interna¬ 
tional Business Machines Corporation. 

**PLINK86 is a registered trademark of Phoenix Soft¬ 
ware Associates, Ltd. 


PRODUCT WATCH 


TABLE 2: Compiler Features 


COMPILER OPERATION 

Single-step compile command 

Yes 

Compile and link 

Yes 

Accepts list of files 

Yes 

Accepts wildcards 

No 

Lists preprocessor output 

Yes 

Lists assembler output 

Yes 

Line numbers in error messages 

Yes 

Header file search list 

No 

Flexible disk file layout 

No 

C LANGUAGE EXTENSIONS 

Embedded assembly language 

No 

Void function returns 

Yes 

Enumerated types 

Yes 

Structure assignment, etc. 

Yes 

Function argument checking 

Yes 

LIBRARY EXTENSIONS 

Math functions (sqrt, exp, etc.) 

Yes 

Unbuffered file I/O 

Yes 

Keyboard input (low-level) 

Yes 

PC screen output (cursor control, attributes, scroll) No 

Execute programs/DOS (exec/fork and system) Yes 

DOS services (date, time, etc.) 

Some 

PC-specific functions 

Some 

UNIX-compatible functions 

Some 

Error recovery (setjmpO, longjmpO) 

Yes 

FILE I/O 

Redirection 

Yes 

Full path names 

Yes 

DOS 1.1 support 

No 

DOS 3.1 file sharing 

No 

Record locking 

No 

ASCII/binary mode 

Yes 

MEMORY USAGE 

Overlays 

No 

Default stack size 

Yes 

Stack size settable 

Yes 

Stack overflow checking 

No 

8086 FAMILY SUPPORT 

Byte/word alignment 

Yes 

80186/80286 support 

No 

8087/80287 support 

Yes 

Automatic sensing 

Yes 

ROM support 

Yes 

These compiler features can be compared with those for other C compilers listed 
in table 2 in ‘The State of C” by William J. Hunt (January 1986, p. 86). 

The Whitesmith’s C compiler includes three complete libraries. They are full fea¬ 
tured but not compatible with standard C libraries. 

specific parts of the compiler and the li¬ 

Whitesmith’s C requires so much mem¬ 

brary. Because of this division, users 

ory because it contains three complete 

may have difficulty deciding in which 

libraries: ANSII library, extended ANSII, 

binder to look for the answer to a 

and a portable library. 

specific question. Fortunately, the 

The system consists of a three-pass 

installation instructions are provided 

compiler, an assembler, a linker, and an 

separately. Overall, the documentation 

object format translator. All six of these 

is complete (see table 3). 

components are necessary to producing 

The development programs, the 

an .EXE file. A lister and various object 

header files, and the libraries are each 

library utilities also are included. The 

kept in separate directories. The total 

assembler and linker use proprietary 

space required by the program is 

object files that are not compatible with 

1.8MB, about twice the average of the 

the LINK.OBJ format. Further, the as¬ 

compilers reviewed in “The State of C.” 

sembler source format is not compati- 


CIRCLE NO. 214 ON READER SERVICE CARD 


PC TECH JOURNAL 














TABLE 3: Documentation Quality 


INSTALLATION 

Packing list 

Fair 

File inventory 

Fair 

Key hies described 

Poor 

Quick step-by-step procedure 

Good 

Instructions for floppy and hard-disk conhgurations 

Good 

List changes from last version 

Good 

SET-UP 

Set-up assumptions described 

Good 

Notes on RAM/second hard disk 

Fair 

OPERATIONS EXPLAINED 

Compile options 

Poor 

Compiler error messages 

T inLino C nmorumy 

Fair 

Poor 



xxxxxx xxxxx 

X XX X 

X XX 

XXXXXX X 
X X 

X XX 

X xxxxx 


XXXXXXX XXXXXX XXXXX X X 

XX X XX X 

XXX XX 

X XXXX X XXXXXXX 

XX X XX 

XX X XX X 

X XXXXXX XXXXX X X 


X 


xxxxx 

X 

X 

xxxxxx 

X 

X 

XXXX 

X 

X 

X 

X 

X 

X 

X 

X 

XX 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X X 

X* 

X 

X 

X 

X 

X 

X 

X 

xxxxxx 

X 

X X 

xxxxxx 

X 

X 

X 

X 

X 

X 

X 

X 

X 

X X 

X 

X 

X 

X X 

X 

X 

X 

X 

X 

X 

X 

XX 

X 

X 

X 

XXXX 


xxxxx 

xxxxx 


X 

X 

X 

X 

X 

X 

X 

X 

X 


THE MAGAZINE FOR PC SYSTEMS EXPERTS 


AT SQV. OFF! 


SEND HE: 


IE ISSUES FOR $E3-7D 


24 ISSUES FOR $47-40 


I GET TWO ISSUES FOR THE PRICE OF ONE!* 


MR./nRS./ns- 

COMPANY_ 

ADDRESS_ 


PLEASE PRINT 


4S465 


□ BUSINESS 

□ HONE 


CITY_STATE_ZIP- 

CHECK ONE: □ PAYMENT ENCLOSED □ BILL ME LATER 


ADD PER YEAR IN CANADA AND ALL OTHER FOREIGN COUNTRIES- 
CASH PAYMENT IN U-S- CURRENCY ONLY- PLEASE ALLOW 30 TO L.D DAYS 
FOR DELIVERY OF FIRST ISSUE- 

♦SAVINGS BASED ON SINGLE COPY PRICE OF $3-^5- 


severely limit add-on library support. 

The benchmark programs for this 
evaluation were run on an Alpha Micro 
Workstation with 512KB and a 10MB 
hard disk (see table 4 for benchmark 
results). CONFIG.SYS contained 
FILES=20 and BUFFERS=20. Because 
so many phases are required for compi¬ 
lation and linking, and because a proto¬ 
type hie and a driver control the entire 
process, compilation and link times for 
the Whitesmith compiler are slow. In 
particular, the link times are almost 

JUNE 1986 


compilers run on the PC. 

However, once compilation is com¬ 
pleted, the actual code produced by the 
compiler falls well within the range of 
acceptable speed and size standards for 
C compilers on the PC. The exceptions 
are the character I/O functions getc( ) 
and putc( ), for which the execution 
times are slower than average. Register 
variables are supported and, when 
used, increase execution speed. 

Whitesmith’s C offers two definite 
advantages. First, it supports, in addition 


Start repairing PC’s 
for only 

$2995 


V U-DATA fa 

CORPORATION \ ^ 

9180 Brown Deer Road, San Diego, CA 92121 

(619) 452-7670 

IBM, IBM PC and IBM XT are registered trademarks of 
International Business Machine Corporation, 

CIRCLE NO. 212 ON READER SERVICE CARD 

203 




























FOR DP PROFESSIONALS AND COMPUTER SPECIALISTS 

WHO PLAY IT SMART. 


DATA SOURCES is published four times a year, so your 
information is always up-to-date. And it comes in two 
handy volumes—hardware and software. Tightly format¬ 
ted and superbly organized, DATA SOURCES will give 
you a complete overview of more than 25,000 software 
packages, 18,000 hardware and data communications 
products, and profiles of more than 10,000 
manufacturing companies. 

To subscribe, call toll-free 1-800-443-0100, ext. 251. 

We ’ll send your first two-volume edition on a 30-day 
approval basis and enter your one year (four editions) 
subscription for just $230—more than 24% off the 
regular price. 


In the complex and ever-changing computer field, smart 
means knowing how to make the right product choices. 
Without wasting time and money. 

Which means DATA SOURCES. 

DATA SOURCES is a complete reference “factbook” 
of virtually every computer system and software package 
on the market. With product comparison charts that let 
you compare specifications and prices at a glance. 

It’s the only resource of its kind. 

With DATA SOURCES you can make better, more intelli¬ 
gent comparisons—from the broadest range of possibilities 
-—in minutes. 


Software Packa g e index to help 
you access specific packages, 
even it you're not sure of the 
author or product classification. 

Software listings offer the most 
complete section you'll find any¬ 
where—over 25,000 systems 
and applications packages. 


Hardware including terminals, 
printers, controllers, memory 
devices and more. 

Data Communications included in 
the Hardware volume, covering the 
full range of data comm products 
—comm processors, local area 
networks, virtually anything you 
require^^ 


Product Comparison Charts make 
it easy for you to quickly compare 
an entire group of products of a 
similar nature. Each entry includes 
a page reference directing you to 
more comprehensive information. 


PO. Box 5845. 

Cherry Hill. N.J. 08034 


Compan y Profiles provide quick 


access to 10,000 hardware, soft¬ 
ware and data comm vendors. 


SOFTWARE PACKAGE INDEX 


WORDMARC, MAh 

International pg N 
W^^^VRC, Pulsar b- 


HIGH-EN ) 


MICRO PERIPHERALS, IN 
(MPI) 


MICRO LAB 


2699 Skokie Valley Rd. 

Highland Park, IL 60035 
312-433-7550 

President: Stan Goldberg; VP Marketing: 
Susan Goldberg; VP Sales: Evelyn Burg 
VP Research/Dev.: Mike Hatlak 
Sales $5,000,000; Empl. 60; Est. 1980 
Business Areas—Software 


9754 Deering Ave. 

Chatsworth, CA 91311 
213-709-4202; TLX: 910-494- 1L 
CEO: Ralph Gabai; President: I 
Campbell; VP Marketing/Sales 
Krunic 

Sales $60,000,000; Empl. 1,5C 
1977 

Manufactures—Disk equip. 
Other Business Areas—Soft 


MICRO MANUFACTURING 
SYSTEMS 


2600 Corporate Exchange Dr. 
Columbus, OH 43229 
614-895-0738 

President: Larry J. Fox; VP Marketing: 
Gregory A. Miller 

Sales $1,200,000; Empl. 12; Est. 1979 
Business Areas—Software; Turnkey 


MICRO SOFTWARE, 


5275 Edina Industrial Blv 
Minneapolis, MN 55435 
612-831-0079 
President: Robert Hildr 
Paul Clifford; VP Sale 
Secretary/Treas.: Tim 
Sales $1,500,000; E 
' r Nsiness Areas—S 
gtfNfeimming; Syr 


MICRO MATES 


P.O. Box 3695 
Reading, F||^ 
215-921-OmM 
Owner: HaZM 
Sales $12M?S 
Business /kS 
training H 


MICRO 


5109 Plead 
Fairfield, q 
513-896-7/ 
President: I 
Empl. 14; E 
Business A 
Programmii 
Distributor; 
Sys. analyt 


BLACK BOX CATA’ 


BRation product of 

IS PUBLISHING COMPANY 


MANUFACTURERS 
AND MOfi 


MODE 

o] 


: _J 

L 

HIGH-END 

T 

MICROCOMPl 

(32-bit) 

I 

ALCYON 

P 

APS Integrated Desi 

L 

Workstation fj 

i e 

APS.RMS Rackmoui 

X 

APX Extended Proc« 

0 

D 

ALPHA MICRO SYST 

? R 
c 

AM-1000 

1 ^ 

AM-1000E 

j 

AM-1000X 


AM-1042E 


AM-1072 


AM-1082 



MULTIPLEXORS/CONC 

DATACOMM MANAGEMEIS 

SCIENCES (Continued) 
link loopback; Indicators 
RackmountD 17,000 channel \ 
□ 1971 


GENERAL DATACOMR 
INDUSTRIES, INC. 

Company Profile located on p§ 

• MUX/VERTER 

Point-to-point; Multipoint □ 16 
50-300 b^s async input □ Trap 
□ 1 composite link(s) D 1,8001 
ite rate □ General (common) f 
composite link loopback; Lcf 
loopback; Remote channel 
dicators □ Up to 16 VF inputsf 
300 bps modems □ Rackmo* 
channel ends installed □ ' 

— $8,000 (16-ch.) 

• 1150 Series 


Point-to-point; Multipoint □ 26§§§|. 

26 async □ Up to 600 bps async jt C 
RS-232; 20/60 mA current loop input tnter- 
faces(s) □ Transparent input □ 3 FDX con- 
trols/ch. n 1 composite link(s) 01,200 bps 
composite rate □ General (common) alarm; 
Local channel loopback; Remote channel 
loopback; Local composite link loopback; 
Indicators □ Standalone; Rackmount □ 25,- 
000 channel ends installed □ 1971 □ 
Purchase — $575 (per ch.) 


GTE NETWORK SYSTEMS 


WORD PROCESSING, On-Line Software 
International pg N-1050 
WORD PROCESSING, Philips Information 
Systems pg N-1058 
WORD PROCESSING, Professional 

Business Computer Systems pg N-1060 
WORD PROCESSING, RCA Service Data 
Services Division pg N-1064 
WORD PROCESSING, SBS Computers 
pg N-1034 

WORD PROCESSING, Solvation pg N-698 

WORD PROCESSING, State of the Art 

pg N-1029 

WORD PROCESSING, Stratus Computer 
pg N-1060 

WORD PROCESSING, Sydney 
Development pg N-1051 
WORD PROCESSING, Us Plus pg N-1034 
WOhD PROCESSING, Westrend 
Business Systems pg N-708 
WORD PROCESSING DICTIONARY, 
Stratus Computer pg N-1060 
WORD PROCESSING ENHANCEMENT, 
Informatics General pg N-1063 
WORD PROCESSING IN SPANISH, 

Philips Group pg N-1034 
WORD PROCESSING SYSTEM, 

Cromemco pg N-1036 
WORD PROCESSING SYSTEM, Modtek 
pg N-1055 

WORD PROCESSING-S/23, IBM 

pg N-1045 

WORD PROCESSING/DATA 
CONVERSION, Muller-Mugno 
pg N-1040 

WORD PROCESSING/ELECTRONI, 
TYPEWRITER, Sulcus Computi 
pg N-1060 

WORD PROCESSOR, Convera^ 

Tech 
WOI 

l 

*1240 (24-ch.) 


SOFTWARE COMPANY PROFILES 


See advertisement c 
113, 141, 147, 149, | 
Company Profile loc^ 

• CONC-GP 


2,4,8 channels □ 
bps async input H 
□ 9.600 brs-rft 


(subsidiary of GTE Coro 1 


T915 

























































































PRODUCT WATCH 


TABLE 4: Performance Benchmarks 


COMPILE TIMES 

60-line file 

47.6 

150-line file 

500-line file 

98.0 

159.5 

LINK TIMES 

1 object file 

6 object files 

PROGRAM SIZES (bytes) 

Sieve 

Pentathlon 

GENERAL OPERATIONS 

(small/large model) 

Function calls (Fibonacci) 

69.3 

73.3 

17,104 

19,536 

29.5/30.8 

Integer arithmetic 

39.2/41.6 

Long arithmetic 

Subscripts (character count) 

115.2/120.1 

24.1/33.9 

Pointer use (string copy) 

With register variables 

Eratosthenes sieve 

With register variables 

44.0/58.7 

31.3/58.8 

25.3/29.3 

18.7/20.3 

TILE I/O 

(small/larse model) 

Read/write 


Floppy to floppy 

Hard disk to hard disk 

7.5/8.0 
3.2/4.6 

Getc/putc 

Floppy to floppy 

116.4/119.6 

Hard disk to hard disk 

46.7/52.3 

Floating-point operations 
(small/large model) 

Add/multiply (dot product) 

Exp/log 

Sin/tan (trig functions) 

15/8/161.9 

150.8/150.2 

215.2/205.0 

Because Whitesmith’s C is too large for effective floppy-disk compilations, only 
hard-disk compilation times are listed. 

Benchmarks were run on a PC/XT compatible with a Norton speed index of l.O. 

Care should he taken when comparing these benchmark times to those listed in 
table 4 in “The State of C” (William J. Hunt, January 1986, p. 90), which were 
reported for an IBM PC/XT. 

The benchmark tests, designed for standard C compilers, were modified consider¬ 
ably to compile under Whitesmith’s C. The benchmark times are quite respectable. 

to the five standard memory models 

erated whenever the function is refer¬ 

(small, large program, large data, large, 
and .COM), an extended small memory 
model. This sixth option allows not 
only the small data items to be linked 

enced. This is useful for code that inter¬ 
faces with the PC’s operating system or 
hardware at an extremely low level. 

As a second advantage, White¬ 

into groups, but a few large data items 
to be linked as well. Programs that have 

smith’s C offers support and documen¬ 
tation of the ANSI extensions to the C 

only a few large data structures can be 
compiled without every data item being 
referenced through a far pointer and, as 
a result, without sacrificing any speed. 
This flexibility is not available in other 

C compilers. 

In addition, the extended small 

language. Thus, assuming the coding 
rules are followed and the appropriate 
header files are used, programs written 
in Whitesmith’s C are portable to other 
hardware systems running the ANSI 
standard with very little change. The 
manual details portability considerations 

memory model provides a #pragma 
statement that allows the user to control 

for writing ANSI-standard programs. 
These two advantages are mini¬ 

the allocation of data and functions 

mized by the product’s needless incom¬ 

within the program. For example, 
#pragma can make a specific function 
far callable or interrupt callable. When 

patibilities. The user is left wondering 
why Whitesmith insists on marching to 
the beat of a different drummer. 

the program is completely linked, the 
appropriate calling sequences are gen- 

—MARTY FRANZ 

lllllHl 




l-Bus Expansion Chassis 
for IBM PC, PC/XT, PC-AT, 
Compaq, and 
other compatibles! 


I-Bus 

SYSTEMS 

9235 Chesapeake Drive 
San Diego, CA 92123 


If you want the most from your PC 
but you’ve run out of places to put 
your add-on cards, an I-Bus Expansion 
Chassis is the right solution. 

Choose our popular 6-slot mini¬ 
chassis or the larger 12-slot chassis 
with room for two half-height drives. 
Both come fully tested, complete with 
power supply and interface. (The inter¬ 
face card requires one slot in your PC.) 
Prices start at $795. 

They’re ideal for portable PC’s: a 
new quick-release 18" or 48" cable 
lets you leave the chassis (and all the 
connections to its cards) in place while 
removing the PC for travel. Or the 
reverse: move an expansion chassis 
with special-purpose cards from PC to 
PC in labs or test facilities. 

There’s no special addressing or 
software required to access expansion 
cards, and no added wait states for 
memory access. I-Bus expansion 
chassis works with all add-on cards— 
including display, memory, networking, 
communications and disk drive cards. 


Call today 
TOLL FREE: 
(800) 382-4229 
in California 
call (619) 
569-0646 


JUNE 1986 


CIRCLE NO. 202 ON READER SERVICE CARD 

205 






























The Professional Edge: 


If you’re an advanced IBM PC user involved in 
systems design and implementation, you need the 
professional edge to stay ahead of the pack... 
you need PC TECH JOURNAL . 

Every month you’ll receive the leading 
advanced IBM PC magazine that brings expert 
users like yourself sophisticated and innovative 
insights, developments and ideas. You’ll discover 
in-depth articles and features covering Graphics, 
Program Documentation, Distributed Data 
Processing, APL, and Systems Interfacing and 
Development. 

If you’re ready to break away from the pack 
and establish the professional edge in your office, 
subscribe to PC TECH JOURNAL today, it is the 
magazine that’s written for experts in IBM per¬ 
sonal computing, by experts! 


PC TECH JOURNAL 

EO. Box 2966, Boulder, Colorado 80322 

YES! I want to break away from the pack. Please accept my sub¬ 
scription to PC TECH JOURNAL for: 

□ 12 issues for $23.70. □ 24 issues for $47.40. 

Either way, I save 50%! 

Savings based on annual newsstand price of $47.40. 

Mr./Mrs. /Ms_ 

Company_ 

Address__ 

City-State_Zip_ 

Check one: D Payment enclosed □ Bill me later 
Charge my: □ American Express □ Visa □ MasterCard 

Card No-Exp. Date_ 

Add $6 a year in Canada and all other foreign countries. 

Please allow 30 to 60 days for delivery of first issue. 


For fast service phone toll-free 1-800-852-5200. 



























































































BOOK REVIEWS 


Practical CAD 

This hands-on tutorial for Autodesk’s AutoCAD is a 
must for newcomers and worthwhile for veterans. 


Inside AutoCAD 

Daniel Raker and Harbert Rice (New 
Riders Publishing, Thousand Oaks, CA 
1985) 308pages, paper, $27.95 

Regular review¬ 
ers of CAD/CAM/ 
CAE software 
often are asked 
where users 
might find a 
how-to book on 
Autodesk’s Auto¬ 
CAD (or Per¬ 
sonal CAD Sys¬ 
tems’ p-CAD or 
T & W Systems’ VersaCAD or other such 
packages). Dealer demonstrations and 
demonstration disks are not able to 
provide users with an on-going refer¬ 
ence for how to do their job with the 
specific software they have chosen. 

Book publishers and bookstores 
like to concentrate on computer books 
about programs that sell hundreds of 
thousands of copies, not those that sell 
only tens of thousands. Books on CAD 
are rare, and even if they were not so 
rare, they would be lost in the crowd of 
books on spreadsheets, word proces¬ 
sors, and programming languages. (If 
they were to judge from the material on 
some bookshelves, readers might think 
that publishers believe there are more 
C programmers than architects, engi¬ 
neers, and plumbers combined.) 

Inside AutoCAD is the book many 
students of CAD have been looking for. 
Instead of a treatise on the mathematics 
of computer graphics, this book is 
about a real program, AutoCAD (version 
2.0). Written in a tutorial style, it re¬ 
mains concentrated on its subject 
throughout. Readers will find no sec¬ 
tions on how to operate the computer 
or on the history of computers or on 
the joy of computing. The authors 
wisely assume that anyone who buys 
the book already knows how to turn on 
the computer and so on, and that the 


real interest is in using AutoCAD in 
gainful employment—not for the thrill 
of drawing circle and lines on a screen. 

Both authors are well qualified on 
the subject of CAD, particularly in the 
practical uses of CAD. Daniel Raker is a 
consultant well-known to design profes¬ 
sionals through his a/e systems report , a 
monthly newsletter that addresses the 
issues of design automation, and 
through his column “CAD Angles” in 
Plan and Print magazine. Harbert Rice 
owns the company that published the 
book and is a veteran in the fields of 
pattern recognition and simulation. 

Inside AutoCAD is well-organized. 
The introduction explains the book’s 
layout, discusses its intended use, and 
defines several key assumptions; it 
includes a summary of each chapter 
and an explanation of the intent of 
each. Those who generally cannot force 
themselves to read introductions should 
make an exception in this case. 

As most AutoCAD users know, the 
AutoCAD manual is not organized as a 
tuturial, but as a reference manual, and 
even that theory of its organization 
commonly escapes the newcomer. 
Inside AutoCAD is organized as a teach¬ 
ing guide, and the sequence of material 
is ideal for either self-instruction or the 
classroom. The authors know that the 
new user will wish immediately to draw 
a few circles and lines—play around, 
that is—so they begin by leading him 
into doing just that. However, only a 
few pages are devoted to play, then the 
book turns to setting up AutoCAD for 
productive work. 

The first chapter covers the menu 
system and the concepts of layers, 
scales, limits, and units, all of which are 
key concepts for production work. In 
the second chapter, the display controls 
(ZOOM, PAN, and VIEW) and drawing 
aids (SNAP, ORTHO, GRIDs, object 
snap) are examined. Again, these 
concepts are essential to effective use of 
the program, even though it is possible 



to make drawings without fully under¬ 
standing them. 

Only by the third chapter do Raker 
and Rice arrive at the point at which 
most users are tempted to begin, that is, 
drawing lines and circles. In full, this 
chapter, called “Graphics Primitives,” 
covers lines, arcs, circles, and text. 

Chapter 4 covers editing a drawing 
and explains the significance of the 
editing commands. The authors con¬ 
cede that a swift draftsman often can 
draw lines faster than a CAD operator, 
but that the AutoCAD user can revise 
drawings much faster than his conven¬ 
tional counterpart. Readers may not 
necessarily agree with this statement, 
but the point is that AutoCAD provides 
a host of tools not available to the con¬ 
ventional draftsman: COPY, MIRROR, 
FILLET, CHAMFER, ARRAY, MOVE, 
CHANGE, REPEAT...ENDREP, BREAK, 
and ERASE. The authors insinuate that 
the editing commands allow the Auto¬ 
CAD draftsman to create a number of 
drawing objects with a minimum of ori¬ 
ginal entry, but they concentrate on the 
idea that the real advantage of AutoCAD 
is in posting changes. Some CAD users 
believe that they must learn to think in 
new terms when designing with Auto¬ 
CAD or any CAD system, and the edit¬ 
ing commands are the key to this new 
mode of thought. Regardless, Inside 
AutoCAD provides excellent coverage of 
the editing commands. 

One of AutoCAD’s strongest fea¬ 
tures, BLOCKS, is given attention in the 
fifth chapter. A symbol library is a sine 
qua non for a CAD program. This chap¬ 
ter discusses the process of defining 
and inserting blocks and includes an 
extensive exercise in the use of blocks 
to create a drawing that would be very 
time-consuming to develop without the 
use of blocks. Attributes are covered in 
a later chapter. 

Chapter 6 introduces the com¬ 
mands used to dress up drawings, in¬ 
cluding primitives not covered in the 


JUNE 1986 


207 















HELP/Control™ - an online help subsystem for the IBM-PC. 

Increase product marketability. Reduce product development time. 

HELP/Control is more than just context-sensitive help. It lets you build tutorial 
sessions, bill-of-material parts catalogs, inventory-driven cross selling... The sky's the 
limit. 

And, HELP/Control is fast. Screens - up to full display size - appear almost 
instantaneously because the runtime system is written in assembler and accesses the 
screen memory directly. Smaller screens appear as windows. Once they've helped, the 
original display is restored just as quickly. 

HELP for the programmer. A few simple subroutine calls add a full-featured online 
help subsystem to your application because HELP/Control is a runtime system linked 
or loaded with that application. (HELP/Control has been fully tested with IBM COBOL, 
IBM BASIC Compiler, Lattice C, Microsoft FORTRAN, Turbo Pascal, IBM BASIC 
Interpreter, and assembler. It is distributed with sample programs in each language.) 

HELP for the documentation writer. Build screens. Define captions. Associate each 
caption with a screen. HELP/Control includes a screen generation language, 
HELPGEN, that reads your sources, creates a runtime file, and lets you use your 
favorite editor. Our HELP/Control reads that file and displays help screens when the 
user activates the help function. 

HELP for the end user. Use the cursor control keys to select a caption. Press return. 
That's it. Each screen has a number of highlighted captions which indicate other 
screens with information on that subject. Lotus 1-2-3 users will feel right at home. 
We've even made the entire HELP/Control manual available as a set of screens so 
you can browse without ever cracking a book. 

HELP for the procrastinator. Your system's complete? You may be able to add our 
slimmed down version of HELP/Control to your existing application. It provides all the 
user functions of our full system with a keyboard intercept for first rate help support 
with minimal effort without looking like an afterthought. (Some site or technical 
restrictions may apply.) 

HELP/Control comes complete with a detailed manual, both online and printed, with 
information for the programmer and documentation writer. It also includes 
instructions for the end user which may be incorporated into the application 
documentation. 

The Standard HELP/Control system implements the online documentation for our 
MDS Outline product. 

PC-DOS 2.0 or greater required for developing HELP/Control applications. 
Applications using HELP/Control will run under PC-DOS 1.0 or greater. The runtime 
system requires approximately 9K for code and buffers for full size help screens. 

The Complete HELP/Control package (software, both manuals, demo programs) 
is $125.00. A demonstration diskette, including the online manual, is available for 
$15.00. To order or for more information, complete this form and return it with 
your check. (Maine residents, please add 5% sales tax.) Or, call MDS, Inc. at (207) 
772-5436. MasterCard and VISA accepted. 


Please send me_copies of HELP/Control at $125. each. 

Name_ 

Address_ 


Phone_ 

MC/VISA No_ 

Expiration Date_ 

Return to: 

MDS, INC., P.O. BOX 




1237, PORTLAND, MAINE 04104 


BOOK REVIEWS 


earlier chapters, such as TRACE and 
SOLID, and the HATCH and SKETCH 
commands. These can relieve the stark 
look of CAD drawings and convey es¬ 
sential information in some fields. 

The treatment of plotting in chap¬ 
ter 7 covers all but the most demanding 
situations and includes a checklist for 
plotting that would be useful in con¬ 
junction with any CAD program. A full 
25 pages, the chapter begins with an 
exercise that the authors began in the 
chapter on blocks. 

In chapters 8 and 9, Raker and Rice 
cover automatic dimensioning and the 
use of attributes. Automatic dimension¬ 
ing is an essential capability for any 
CAD program, and the ability to attach 
attributes to drawing symbols is the key 
to the second D in CADD. Both subjects 
are covered thoroughly. 

The final chapter covers the subject 
of customizing AutoCAD, through the 
use of menus and script files. Several 
examples are presented that should en¬ 
able any serious user to write his or 
her own custom menus. Not covered 
are the use of variables and expressions 
or the use of AutoLISP, which is intro¬ 
duced in AutoCAD version 2.18. 

The book is nicely illustrated, and 
all of the illustrations obviously were 
prepared with the aid of AutoCAD 
(indeed, any other approach would 
have aroused suspicion). Commands 
are shown with examples that include 
screen displays, prompts, and menu 
flow charts. Thus, whether the user 
prefers to use the screen menu or to 
type commands in from the keyboard, 
the command syntax is supplied. The 
book does not include examples of 
using digitizer menus, but this is not a 
serious omission. 

Each chapter opens with a diagram 
of the standard menu structure as it 
relates to the commands covered in that 
section and closes with an advanced 
AutoCAD drawing. Taken collectively, 
these drawings show the capability of 
AutoCAD in a variety of fields. 

The book’s tone is appropriate for 
a range of AutoCAD users, from the 
novice to the advanced draftsman. The 
veteran will find some worthwhile nug¬ 
gets, while the beginner should con¬ 
sider this book a required companion 
to the AutoCAD manual. Raker and Rice 
have put together an excellent presenta¬ 
tion of AutoCAD’s facilities. {PC Tech 
Journal reviewed AutoCAD in the Janu¬ 
ary 1986 issue, “Drafting by Design,” 
Victor E. Wright, p. 50.) 

—VICTOR E. WRIGHT 



208 


CIRCLE NO. 146 ON READER SERVICE CARD 


PC TECH JOURNAL 























TECH MART 


MYSTIC PASCAL 


More Users For Less Money! 
Di^itrols software solution 
to multi user. 


QQ|4 5V 4 " ds/dd 

03u SOFT SECTOR 

r BULK QUANTITY 100 
Each diskette 100% certified at 
manufacturer. 

LIFETIME WARRANTY 


• 640K code, data and stack 

• incremental compiler runs in back¬ 
ground while you are editing 

• effective compiler speed greater 
than 100,000 lines/min 

• immediate execution of Pascal 
statements 

• true multi-tasking for up to 100 
Pascal procedures 

• full screen editor 

• complete Help windows 

disk with condensed manual to print out $16— 

printed manual $16—both $32—for IBM PC 256K 

Visa/MC/COD—add $2 shipping, COD $5, 

overseas $10 


pcSHARE 
MULTI-USER O/S 

pcSHARE allows your IBM-XT/AT or compatible to 
support up to 5 users running 1 -2-3, dBASE, WordStar, 
and more on inexpensive serial CRTs. For software 
developers, pcSHARE efficiently runs compiled Basic, 
Pascal & C programs with full DOS 3.0 compatible 
record locking. 

DIGITROL COMPUTERS INC. 

440 Phillip Street 
Waterloo, Ontario, CAN. N2L 5R9 

(519) 884-4541 

IBM-XT. Lotus 1-2-3. dBASE. and WordStar are trademarks of IBM Corp. Lotus 
Development Corp . Aston-Tate. and MicroPro International, respectively 


NEW EPROM PROGRAMMER 

rm -1 eprom i 


Communications Board 


THE FILE STORAGE METHOD 
USED BY PCTECHLINE. 

The ARC file archive utility can 
save up to 50% on disk storage, 
and modern transfer time. 

• Not copy protected 

• Program Sources Included 

Only $50 


‘Programs all 28-Pin, 5-Volt EPROMs and 
EEPROMs. 

‘Perfect for engineering workstations, field ser¬ 
vice and small production runs. 

‘Simple keyboard and display for stand alone 
duplication. 

* Interface to your computer via an RS232C port. 
‘PC control software included at no extra 
charge. 

TO ORDER PHONE: 

800-325-6028 Outside California 
916-885-7262 Inside California 

VISA AND MASTERCARD ACCEPTED 


• For IBM-PC/AT/XT and | 

compatibles 

• Dual RS-422 serial interface 

• Programmable to 56k baud 

• Differential drivers to 4000 ft. 

$345.00 

Vj/QUA TECH, INC. 

478 E. Exchange St. Akron OH 44304 
(216) 434-3154 TLX: 5101012726 


“A sophisticated and imminently 
useful product.” 

—PC Week 


SYSTEM ENHANCEMENT ASSOCIATES 

21 New Street, Wayne, NJ 07470 

( 201 ) 473-5153 


international 

=#= MICROSYSTEMS 

VpiP incorporated 

11554 C Avenue, Auburn, CA 95603 


Get the whole 
story on graphic 
terminal emulati 


OURNA 


TECH MART 
TECH BOOK 

THE CLASSIFIED ADVERTISER’S 
FORMULA FOR SUCCESS IN 
SELLING TO TECHNICAL 
EXPERTS IN THE IBM 
MARKETPLACE. 

FOR RATES & INFO 
CALL: (212) 503-5115 


HDTEST formats and tests hard drives in PC, XT, 
AT, and true compatibles. Written for production 
quality control; you know it’s fast and thorough. 
Menu-driven operation and context sensitive help 
windows make life easy when installing or refor¬ 
matting hard drives. Flag known bad tracks and 
do a comprehensive surface scan to find unlisted 
defects. You can modify controller and test setup, 
load/save setup and defect files. Works with WD, 
Xebec, OMTI, DTC, and Adaptec controllers. Free 
PARK included! Call for more information. $99.00 
GALLERY 6 DISTRIBUTED BY PROTO PC, INC. 
2439 FRANKLIN AVENUES! PAUL.MN 55114 
612-644-4660 TLX910-380-7623 


To find out more about software 
that lets your PC emulate 
TEKTRONIX™ 4105/6/7/9 and 
DEC VT100™ terminals, 
call or write: 

<| GRAFPOinT 

4340 Stevens Creeks Blvd., Suite 280, 

San Jose, CA 95129 (408) 249-7951 


DISKETTES 

WHY PAY MORE?? 


NOW ONLY $1BH! 


ACT NOW!! 

These are not seconds. 
Money back guarantee! 
No questions asked. 
Offer Expires 6/30/86 


TO ORDER CALL: 

1-800-634-3478 
In Ohio: (614) 481-4417 


MEI 

1555 West Lane Ave. 
Columbus, OH 43221 


Mystic Canyon SoFtware 
PO.B. 1010 

Pecos, NM 87552 505/757-6344 

CIRCLE 388 ON READER SERVICE CARD 


CIRCLE 384 ON READER SERVICE CARD 


CIRCLE 386 ON READER SERVICE CARD 


CIRCLE 394 ON READER SERVICE CARD 


CIRCLE 392 ON READER SERVICE CARD 


CIRCLE 387 ON READER SERVICE CARD 





















































64K-128K-256K 

DRAMS 

80287-8 " 80287-3 
8087-3 " 8087-2 
8087-1 


ASSEMBLY PROGRAMMING LIBRARY 

• NO ROYALTIES REQUIRED 

• Graphics - Color. Here Monochrome. EGA 

• Floating Point Trigonometry and Arithmetics 

• 8087 Supported but not required 

• ASCII to Numeric conversions 

• Formatted Output (PRINT USING) 

• Console I/O with Windowing 

• DOS Shells 

• Sound Generation 

• Plus much, much more 


Step-by-Step With 


Introducing C is a powerful C language training system that 
combines a thorough, self-paced manual with a unique C IN¬ 
TERPRETER to provide a fast efficient method of learning C. 

A COMPREHENSIVE APPROACH 
Introducing C covers all the essential elements of C. The 
Interpreter utilizes standard K&R syntax and operators - full 
structures and unions, arrays, pointer and data types. It pro¬ 
vides the standard I/O library and an extended graphics library. 

The package has many user oriented features including a 
screen text editor and extensive error diagnostics (includes 
dynamic trace capabilities). 

INTRODUCE YOURSELF. TODAY 
Introducing C is available for immediate delivery. System re¬ 
quirements are IBM PC, XT or AT with one disk drive and 192K 
bytes of memory. Priced $125.00. Not copy protected. 

TO ORDER CALL 800-922-0169 


ASMLIB has over 170 functions for the IBM 
PC/XT AT or compatible under DOS 200 or 
newer Supplied in MS Assembly language 
source code on 3 DOS Diskettes with 215+ 
page reference manual 


€l€CTRONICS 

899 SOUTH COAST HIGHWAY 
LAGUNA BEACH, CA 92651 

( 714 ) 497-6200 

CALL NOW FOR FREE CATALOG 




All for only $149 00 ppd 
BC ASSOCIATES 

13073 Springdale Street. Suite 134 
Westminster. California 92683 
(714) 741-3015 


Sort RM/COBOL Files 

• • • QISORTC 

Finally, a sort utility for RM/COBOL. 

Using efficient algorithms in assembly language making it 
the fastest sort on the MS-DOS market. Qisortc supports: 

• RM/COBOL Version 1.5x & 2.xx files 

- Single / Dual File Indexed 

- Relative and Sequential 

• ASCII, COMP-1, & COMP-3 fields 

• 32 sort control fields 

- ascending / descending 

• 32 record selection fields 

- EQ:NE:GT:GE:LT:LE fieldconstant 

- implied AND, OR may be specified 

• 32 output fields or total record 

• CALL from RM/COBOL, when provided 
subroutine is linked with runtime 

• Use pathnames and return codes 

• Keyboard or Parameter file 

• Requires MS-DOS ver 2.xx or above- 

• Only $95.00 - COD, VISA, or M/C. 

Quantumn Information Systems, Inc. 

145 N.W. 85th St., Suite 103 
Seattle, Washington 98117 
(206) 789-2888 Telex 4941041 


FORTRAN 


PAdPAT 

PROGRAMMER? 


IBM PC, XT and AT programmers: 


Don't give away results of your effort! 
Don't waste your money buying 
costly fingerprinted diskettes! 


READ 

THIS 

AD 


You can have your programs 
automatically protected against 
piracy! 


Mo special training needed! 
Mo confusing instructions! 
Mo discouraging procedures! 


Mo Sales Tax on orders outside M.Y. State 


I y i l i I YETIWARECORP 
1 Wf / | | P.O.BOX 21152 

MID T0WN STATION 
NEW YORK N.Y. 10129 


DEALER INQUIRIES INVITED 


REPRINTS AVAILABLE 


GRAPHICS 

• Text/graphics generics 

• 2D interactive 

• 2D plots (full support) including 
auto-scaling, auto-axis genera¬ 
tion, auto-labeling, tabular/log/ 
parametric curves, splines, bars, 
pies, you name it, we have it. 

• 3D Plots incl. 2 hidden line remov¬ 
al options—not just old-fashioned 
wire frame. 

PEN PLOTS 

• Standard plotter primitives plus 

• FULL 2D support plus 

• Interface to screen graphics, 

• Limited 3D. 

Clear and complete documentation. 

GRAFMATIC $135. 

PLOTMATIC 135. 

MICROCOMPATIBLES 

301 Prelude Drive 

Silver Spring, MD 20901 

(301) 593-0683 


Quantity reprints ot articles appearing 
in PC Tech Journal are available and 
will be prepared to meet any special 
requirements. Inquiries should be 
directed to Eileen Pfeiffer, Reprints 
Dept., Ziff-Davis Publishing Co., 1 Park 
Ave., New York, New York 10016, 
Phone 212-503-5447. 


Why risk duplicating your important 
programs on your computer, when our 
equipment is designed solely to dupli¬ 
cate disks and verify their perfection 
100%? 

Over 600 formats. 3V 2 ", 5'A" and 8". 
Plus serialization, copy protection, la¬ 
beling, packaging, shrink-wrapping 
and fast, personalized service. 


PURNA 


Western 
Transdata Inc 

DISK. DUPLICATION 


1701 E. Edinger Ave. 
Building A4 

Santa Ana, California 92705 

(714) 547-3383 (Collect) 


ASMLIB 


Interactively 


[ S COMPUTER 
i INNOVATIONS, INC. 

980 Shrewsbury Ave.. Tinton Falls. NJ 07724 • (201) 542-5920 

CIRCLE 378 ON READER SERVICE CARD 


CIRCLE 376 ON READER SERVICE CARD 


CIRCLE 377 ON READER SERVICE CARD 


CIRCLE 380 ON READER SERVICE CARD 


CIRCLE 381 ON READER SERVICE CARD 


PERFECT COPIES 
GUARANTEED 


c mmtmm 




CIRCLE 383 ON READER SERVICE CARD 


CIRCLE 382 ON READER SERVICE CARD 










































TECH BOOK 


Accessories/Supplies 


•• SOFTWARE PUBLISHING •• 

GDS offers a wide variety of services that will help 
get your software to the market. Address your 
needs with GDS. 

• IBM style cloth/vinyl 3-ring binders/slips 

• Labels, sleeves, disk pages... 

• Disk duplication with 100% verification 

• Bulk diskettes 

• Shrink wrapping and assembly 

• Quick turnaround 

A well-packaged product can make the differ¬ 
ence in making a sale. Call us NOW. VISA/MC 
Glenco Development Systems 
3920 North Ridge Avenue 
Arlington Heights, IL 60004 
(312)392-2492 


Business 

Opportunities 


INCORPORATE! 

‘Save Taxes! 

* Protect Your assets! 

*Free Booklet! 

‘Free Forms! 

‘Save $— Do It Yourself! 

‘No Legal Fees! 

WRITE OR CALL TOLL-FREE TODAY! 

HARVARD BUSINESS SERVICES, INC. 

3151 Summerset Rd. 

Wilmington, DE19810 
800-345-CORP 

Personal Computer Owners 
CAN EARN $1,000 TO $5,000 

monthly selling simple services performed by 
their computer. Work at home-in spare time. Get 
free list of 100 best services to offer. Write: 
C.I.L.B.Q. 

PO Box 60369 

San Diego, CA 92106-8369 


Hardware/ Add-on 
Boards 


SPEECH SYNTHESIS 

SynPhonix: TRUE Unlimited Speech Synthesiz¬ 
er for IBM-PC/XT/AT/jr & compatibles. This low 
power short card includes an SSi263 speech 
chip, amplifier and speaker. Software includes 
Text-to-Speech, Phonetic Editor, Talking Clock 
& demos. Can be programmed with BASIC and 
other languages. Prices start below $200. 

SvnPhonix 

Electronic Speech Articulator 

Artie Technologies 
2234 Star Court 

Auburn Heights, Michigan 48057 
(313)852-8344 

RS-232/RS-422 Communications 

Versatile communications and 1/0 boards. 

—Four port RS-232 with DOS drivers.$349 

—RS-422/485-serial interface.$149 

—RS-232/422 with 24 parallel I/O.$199 

—RS-422 synchronous with DMA.$299 

—Delivery from stock 
—Custom designs available 



Adams Incorporated 
PO. Box 17525 
Greenville, SC 29606 
(803)297-9630 

FIXED DISK BIOS/BOOT 

FiXT boots from most popular Hard Disks—DA- 
VONG, TECMAR, IOMEGA, GT LAKES, etc. Adds 
XT-like BIOS interface to your disk for PC. Se¬ 
curity, multiple volumes, removable media sup¬ 
port optional. No-slot plug-in installation. Specify 
controller and computer with order. $80-$95. Add 
$3 shpg., CA tax. 



NEW!!! FOR THE OLD 64KPC 

PC MultiPak MAX 576K Multifunction Card. Ex¬ 
pand your old 64K IBM to 640K. Includes 576K 
memory, parallel port, serial port, clock, ram- 
disk & ramspool software, 2 year warranty. $449 
with 576K installed. Trade in discounts avail¬ 
able for your current memory card Mfg. in USA. 
For more information call or write 
Indigo Data Systems, Inc. 

PO. Box 57888 
Webster, TX 77598 
(713)488-8186 

ACQUIRE DATA WITH YOUR PC 

*16 to 64 differential A-D, up to 8 D-A 
*24 to 48 digital I/O, 24 event counters 
*Processor and 8 to 40K RAM on board 
*Floating-pt processing, Battery backup 
*Linerization, 4 selectable gain ranges 
*Menu-driven software. Programmable. 
‘Systems start at $895,1 year guarantee 
WESTERN TELECOMPUTING 
202 E. Kagy Bozeman, MT 59715 
(406) 586-1511, or touch-tone, toll-free 
1-800-423-0587, then 328 222. 


Hardware/Disk 

Drives 


8 INCH DISKETTE SYSTEM 

Read, write and format diskettes from IBM 
mainframes, minicomputers, data entry equip¬ 
ment, etc. Complete easy to use software han¬ 
dles EBCDIC conversion. Can read and write CP/ 
M 8-inch diskettes (many formats). You also can 
use 8-inch drives for PCDOS files; 1200 KB per 
diskette! $1150 complete. 

MicroTech Exports 
223 Forest Avenue 
Palo Alto, CA 94301 
(415)324-9114 


Hardware/ 

Peripherals 


SCSI-PC HOST ADAPTER 

Plug & play installation for SCSI Optical/Hard 
disk and tape peripherals. Wide selection of SCSI 
peripherals selectable by manufacturer and 
model No. via menu window. Absolutely NO driver 
software need be written by the user. Price is 
$149. for board, SCSI bios prom and floppy 
based configuration data. 

Advanced Storage Concepts, Inc. 

9660 Hillcroft #325 
Houston, TX 77096 
1-800-423-9175(713)729-6388 

640K YOUR MOTHERBOARD!! 

Put 640K of RAM on Your Motherboard! NO 
SLOT! NO ADD-ON BOARDS!—NO SOLDER¬ 
ING! Complete w/ALL Hardware, Memory Chips 
and Instructions. Easy PLUG-IN Installation. Avail 
for: IBM XT, IBM Portable, COMPAQ & COMPAQ 
PLUS Portables. Only $144.95 + $5 S/H, Spec¬ 
ify computer when ordering. Dir. inquiries in¬ 
vited. CK/MO/VISA/MC 
J S & J Software 
1281 S. King St. Suite 6A 
Honolulu, Hawaii 96814 
24/hr Orders: (800) 821 -5226 ext. 435 


GOLDEN BOW SYSTEMS 
2870 Fifth Avenue 
Suite 201 

San Diego, CA 92103 
(619)298-9349 


RATES AND INFORMATION 

Standard listings consist of a bold lead line (25 characters maximum); 7 
lines of body copy (45 characters per line); 4 lines for company name, 
address and telephone number. $140 per insertion—3 issue minimum. 
Additional charge for extra lines and company logos. Prepayment and 
frequency discounts available. American Express, MasterCard, Visa 
accepted. Copy subject to publishers approval. Send typewritten or printed 
copy, reproducible logo art (if applicable) and remittance to Kathryn 
Cumberlander, Classified Sales Manager, Ziff-Davis Publishing Company, 
One Park Avenue, New York, NY 10016. For additional information, 
assistance, or to place an order by phone, call collect (212) 503-5115. 


TURBO START YOUR PC!!! 

FOR IBM PC’s ONLY!! The PC-INMATE, a Firm¬ 
ware ROM Module for the IBM-PC!!! Features: 
BOOT within 10 SECONDS!!! BREAK the 640K 
BARRIER!! Access up to 704K of RAM!!! (Lotus, 
DOS, etc.) SCREEN RELIEF-protects your mon¬ 
itor, and MORE!! Easily PLUGS IN-NO SLOT! Only 
$49.95+$3 S/H. Dir. inquiries accepted CK/MO/ 
VISA/MC. 

JS&J Software 
1281 S. King St. Suite 6A 
Honolulu, HI 96814 

24 hr Orders Only: (800) 821-5226 ext. 435 

IBM PC/XT/AT.SPEEDUP 

*OVERTRUSTER: Boots the performance of PC 
and XT by 280%! 100% software compatible, is 
switchable between 4.77 and 7.38Mhz. $195. 
*SPEEDSWITCHER: This is an economical 6 
speed switch (4-11 Mhz) for AT’s. $89 
*XCELEX: Automatic 5 speed switch (6-12Mhz) 
This unit will switch on the fly and works with 
ALL IBM AT’s including the new Models with 
speed limiting Rom Bios. $149. 

DATA MANAGEMENT SYSTEMS, INC. 

1525 Hickory St. 

Salina, KS 67401 

ORDER HOTLINE (913) 823-6440 

CP/M & 1.2Mb AT ON PC 

With MULTI-DISK and UniForm-PC use 3.5,5.25, 
and 8-inch single and double density CP/M for¬ 
mat as DOS diskettes on your IBM PC or XT. 
Many MS-DOS formats also supported includ¬ 
ing IBM AT 1.2 Mb, HP-150 and Data General 1. 
Over 200 formats. Both MULTI-DISK and Uni- 
form-PC for $225. Disk drives & adapter cable 
also available. 

P S Engineering 

PO. Box 51068 

San Jose, CA 95151-5068 

1-800-369-2398; 1-800-423-7171 in CA. 

BAR CODE READERS 

• IBM PC/XT, AT, AT&T 6300 & 6300 PLUS key¬ 
board models or RS-232 interface 

• NO programming. Reads dot matrix 

• Auto-recognition and single code decoding 

• Reads Code 39, UPC A/E, Codabar & 12 of 5 

• $635 list, units in stock, 2 year warranty 

• Bar code printing software, call for info. 

PERCON, Inc. 

2190 W. 11th 
Eugene, OR 97402 
(503)344-1189 

PC SPEEDUP 

Up to 45% speed improvement for IBM PC and 
clones, 100% compatible, easy installation. Kit 
includes NEC V20 or V30 Chip, Tool, User Guide, 
Warranty, free Multiuser BBS Access. V20-5 mhz 
for PC, V20-8 and V30 in stock. V30 replaces 
8086. Call for PC-Sprint and VP/M. 

From $4 to $89. Tech info 414-242-2165 
Exec-PC, Inc. 

PO Box 11191 Shorewood, Wl 53211 Order on 
BBS: Orders: 414-242-2173 414-964-5160 


JUNE 1986 


211 


























TECH BOOK 


Hardware/Security 


C Compilers for MC 680X0 
Now on IBM PC 


STILL WAITING? INSECURE? 

QUICKON—Instant Turn-on module—$69.95. 
LOCKIT I—Password Boot-Up module— 
$129.95. User selectable PW & Boot-only-from- 
HD mode. PC RESET—Reboot w/o cycling 
power—$21.95. Easy to install, No slot, specify 
PC/XT/AT LOCKIT II—PW protection for sub¬ 
directories, for DOS 2.0 & up.—$79.95. MC/VISA 
Security Microsystems Consultants 
16 Flagg Place Suite 102 TJ 
Staten Island, NY 10304 
(718)667-1019 


Use your IBM PC XT to create fast compact code 
optimized for the Motorola 68000, 68010, and 
68020/68881. Complete C development envi¬ 
ronment including assembler, pre-processor, 
linking and downline loaders, libraries and util¬ 
ities. Priced under $1000 on IBM PC. Also avail¬ 
able for Motorola/VERSAdos, VAX/UNIX, and 
VAX/VMS. 




Software/Business 


TheAndsor Collection 

Unique concepts: creates complete, self- 
contained, window-based data management 
environment in one DOS file. Simplifies every¬ 
thing. Combine functions to create your own so¬ 
lutions in any application: calculations, database 
management, modeling, text processing, charts, 
data analysis, statistics, reports, labels, forms, 
presentations, mail-merge, etc. Simple enough 
for a PCjr, sophisticated enough for a PC AT. Su¬ 
perb, 400 page hard-cover manual, with many 
examples. From simple calculations, files, in¬ 
quiries, to complex models, data structures, re¬ 
ports: when your favorite data manager/ 
spreadsheet/word processor/integrated sys¬ 
tem cannot provide the solution you need, re¬ 
member The Andsor Collection. 60 day money- 
back guarantee. US$95 + $5 s&h. Visa/MC/ 
AmEx/Chk/MO/COD. Call or write now to order. 
IBM/PC/XT/AT/PCjr, 128K, one drive or hard 
disk, monochrome and/or color monitor, DOS 
2.0+. Not copy-protected. 


ZTTie ^ (m/sior 
Go/Zeet/ofi 

- (- 

Andsor Research Inc. 

181 University Avenue, Suite 1202 
Toronto, Ontario, Canada M5H 3M7 
(416)364-8423 


Software/Compiler 


DeSmet-C-$109 

Full K&R C compiler, linker, librarian, fullscreen 
editor, profiler, overlays, example software, 140 
page manual. BOTH 8087 and floating point li¬ 
braries. OUTSTANDING PRICE/PERFOR¬ 
MANCE. Consistently rated 1st or 2nd in 
published benchmarks. PC/MSDOS. No royal¬ 
ties on generated code. Newsletter. Updates $20 
ea. $109 shipping included. Symbolic (C source 
level). Debugger Option $50 extra. C Compiler 
for the Macintosh $150. 

C WARE CORPORATION 
Dept. PCTJ 
P.O. Box C 

Sunnyvale, CA 94087 
(408)720-9696 


Alcyon Corporation 
5010Shoreham Place 
San Diego, CA 92122 
(619)587-1155 


Software/ 

Communications 


COMM. PROTOCOL ANALYZER 

Why pay thousands for a protocol analyzer or 
$250 for a RS232 breakout box? Field proven 
APA120 software converts a PC. Full function 
breakout box with LED’s switches and jumpers 
plus line adapter for analyzer. Trigger strings, 
control line monitoring and more. For serial, 
async, 9600 baud or less. $495. 

BURR-BROWN® 



Burr-Brown Corporation 
P.O. Box 11400 
Tucson, AZ 85734 
(602)299-2662 

PC SERIAL DATA ANALYZER 

Use your IBM PC or compatible to analyze data 
streams between two serial devices (up to 9600 
BAUD). Two windows display each devices trans 
mition in ASCII or HEX. PC can also act as a ter¬ 
minal for either device. Invaluable tool for de¬ 
bugging serial interfaces. Disk & manual $150. 
Triple C Software 
2897 SW 13th St. 

Fort Lauderdale, FL 33312 
(305)583-0687 

Programmable Emulator 

Automate your communications. “Hooks” to 
operate communications functions automati¬ 
cally thru your own programs written in “C” Basic, 
Pascal. Supports PC to PC to mainframe link up. 
Memory resident mode, simultaneous COM1 and 
COM2, X-modem, full featured, VT100 and 13 
other terminals. Bluestreak plus $89.95. 
Lang-Allan, Inc. 

2457 Aloma Ave. Suite B 
Winter Park, FL 32792 
(800) 541-2255 Tone 677-1539 


Software/ 
Development Tools 


COLOR, CURSOR CONTROL 

DATE/TIME, KEYBOARD, PEEK, POKE, COM- 
MAND LINE ACCESS, and more available for 
IBM/MS FORTRAN, IBM/MS PASCAL, and GE¬ 
NERIC (MS) BASIC on PC/DOS and many MS/ 
DOS machines. No redistribution fees. $47 U.S. 
MN residents add 6% sales tax. BARTSUBS by 
BARTSOFT 

3210 Lake Shore Boulevard 
Wayzata, MN 55391 
(612)473-4032 


ROMableCODEon PC! 

PCLOCATE allows PC users to develop ROM- 
based software from MS-DOS “Exe” files. The 
user specifies the physical location of all seg¬ 
ments. Output files are compatible with most 
PROM programmers. PCLOCATE supports the 
8086,8088,80186,80188, and 80286 proces¬ 
sors. MC/VISA. 

ALDIA SYSTEMS INCORPORATED 
P.O. Box 37634 
Phoenix, AZ 85069 
(602)866-1786 

REALIA COBOL SITES 

REALFORM is the Screen Handler you have been 
looking for. It features interactive screen design, 
an on-line forms editor, relief of cursor control, 
expedites screen generation, supports numer¬ 
ous data field types, is easy to use and offers 
powerful data entry functionality. $395. US. 
CHARANDON COMPUTER SYSTEMS INC. 

1600 Laperriere Avenue 
Ottawa, Ontario, Canada K1Z 8P5 
(613)729-3003 

FIRMWARE PRODUCTION ON PC 

LINK&LOCATE enables PC users to produce 
ROM-based firmware for 8086/87/186 from ob¬ 
ject files generated by C, PL/M compilers & 
MASM. Provides full control of segments place¬ 
ment anywhere in memory. Supports output of 
INTEL hex file for PROM programmer, absolute 
object file for symbolic debugger & ICE, and MS- 
DOS EXE fifle. Includes an INTEL compatible 
linker, locator, librarian and hex formatters. $350. 
Systems & Software, Inc. 

3303 Harbor Blvd., C11 
Costa Mesa, CA 92626 
(714)241-8650 

REPORT WRITER 

All-language qPLEX-IV lets you select or sort your 

own special forms, reports, labels, bar graphs 

or queries. Exports your reports to spreadsheets 

and wordprocessors. Reads Basic, Assembler, 

Pascal, C, Fortran, Cobol, ASCII, Data Base 

Managers and more. Dealer demos available. 

MS-DOS, XENIX, UNIX 

Snow Software Corporation 

3330 Fisher Road 

Clearwater, FL 33519 

(813)784-8899 


C-INDEX 

C-INDEX is a state-of-the-art data management 
library for C. Designed for serious product de¬ 
velopment. No Royalties. B+Tree, variable length 
records, multiple keys, and transportable source 
code. Call for our free info packet. 
C-INDEX/PRO $195 Partial Source 

C-INDEX/PLUS $395 Full Source 

TRIO SYSTEMS 
2210 Wilshire Blvd. Suite 289 
Santa Monica, CA 90403 
213-394-0796 

FLOWCHARTS BY PROFLO 

The fast, friendly, flowchart drawing program for 
the software professional. PROFLO speeds soft¬ 
ware development and reduces documentation 
costs. Lets you create, edit, and print clear, pre¬ 
cise flowcharts, quickly and easily. Requires IBM 
PC (or clone) with DOS, 128K, graphics monitor 
& graphics printer. Program & Documentation 
$49.95. Demo Disk $10.00. 



Star Systems 
28 Topstone Drive 
Bethel, CT 06801 
(203)744-0546 

SOURCE CODE LIBRARY SYSTEM 

TUB™ stores ALL versions of your source in ONE 
compact library file,-even with hundreds of re¬ 
visions. Updates ("deltas”) faster than many 
editors load & save files, 5-7 times faster than 
Unix SCCS. Date & comments for each version, 
easy retrieval. LAN-shared libraries with PC 
Network. DOS 2.x/3.x $99.95 $3 s/h VISA/MC. 
Burton Systems Software 
P.O. Box 4156 
Cary, NC 27511-4156 
(919)469-3068 

GENSCREENFOR MS-COBOL 

Cobol Source Code Generator for generating the 
screen section and data division cobol source 
code for Microsoft and IBM PC cobol. Screen 
Image Text files are run through GENSCREEN to 
produce all of the source code for your screen in 
less than a minute. Super fast programmer pro¬ 
ductivity tool $69.99. 

Personal Computer Development Corporation 
P.O. Box 8556 
Warwick, R.l. 02888-8556 
(401)333-8704 

FASTSCREEN FOR TURBO 
PASCAL 

FASTSCREEN adds fast screen output capabil¬ 
ity to your Turbo Pascal programs. Display a full 
screen or window almost instantly. Read a full 
screen or window containing multiple input fields 
with a single procedure call. FAST¬ 
SCREEN makes it easy to give your programs im¬ 
pressive speed and a clean, professional look. 
Inline assembler and Pascal routines, all source 
included. IBM PC/XT/AT and DOS. Color and 
monochrome. $29.95 from Technisoft 
Technisoft 

1710 Allied Street Suite 37 
Charlottesville, VA 22901 
804-979-6464 


212 


PC TECH JOURNAL 
































TECH BOOK 


ScreenWorks™ $50 

Awesome screen management! Full screen panel 
editor & designer. Design your most complex 
screen in 10 min. Supports C & Turbo Pascal. 
Screen handler written assembler as BIOS ext’n; 
50+ library routines give full control of screen, 
fields, colors & keybd. Developer license avail. 
256K, all monitors, no snow. 30 day $back 
guarantee, $50 chk/VISA/MC. 

Keep It Simple Software, Inc. 

211 East 43rd Street 
New York, NY 10017 
(800)848-8909 

TURBO PASCAL GENERATOR 

GTP APPLICATION DEVELOPMENT SYSTEM, 
version 2. Builds complete, working application 
systems. You give it spec’s, it writes error-free 
code. 

Indexed Data Bases Multiple Screens 
Context Sensitive Memory-mapped 
Help Video 

Global/Phonetic Full Keyboard Supt 
Search 

Easy to Use Price $150.00 Visa/MC, ck, MO 
AEF 

P.O. Box 928 
Katy, TX 77492 
(713)391-8570 

SCREENWARE UTILITIES 

FAST ELEGANT SCREEN CREATIONS FOR PC 
ASSEMBLY ROUTINES. Make new or edit exist¬ 
ing screens, even those CAPTURED in OTHER 
pgms BY OUR PGM! Supports ALL color/char/ 
att & monitors. Pop-up menus, help & file man¬ 
agement. Creates binary & assembler-ready 
ASCII source files. Easy to link to main pgm & 
invokes w/little code. KBD template, charts, 50pg 
Man, PC/AT-128K, ONLY $27! 

Crosswinds Software 
8621 Windjammer Drive, Suite M-56 
Raleigh, NC 27609 
(919)847-1812 

FORTRAN LIBRARY 

A library of over 70 assembly language subrou¬ 
tines complementing MS Fortran compiler. Full 
range of powerful features, increasing the scope 
of programming possibilities. Control screen, 
keyboard, communications; add new language 
commands. Library includes subroutines for to¬ 
tal control of HP LaserJet printer. Institutional 
purchase orders $99.95, personal checks $49.95 
s/h $5. 

Psychometric Associates 
3434 West Tulsa Street 
Chandler, Arizona 85226 


SOURCE DEBUGGER FOR 
LATTICE C 

The MSD DeBugger™ is the last, and perhaps 
final, word in programming assistance for Lat¬ 
tice C users. C Debugger produces a high-level 
view of C programs via function names line 
numbers, variable names and C data types, plus 
a low-level view of machine addresses and in¬ 
structions for testing assembler language func¬ 
tions. More features include: 

• All documentation is prepared for 
programmers. 

• Online help screen throughout the process. 

• Capability to single step through your program. 

• Set break points, examine registers and 
variables. 

$165.00+ $3.50 shipping VISA/MC 


(^debugger 

a high level language debugger 


MSD 

2141/2 West Main St. 

St. Charles, IL 60174 
(312)377-5151 

THE-SCREEN GENERATOR 

Powerful Screen Designer and Memory Resi¬ 
dent Screen Manager eliminates tedious screen 
management tasks from your program. Easy 
access to Screen Manager from your applica¬ 
tion. Uses disk screen libraries. No Royalties, Not 
Copy Protected. Uses with FORTRAN, C. BASIC, 
Turbo-PASCAL, BetterBASIC or Asm (Call if not 
listed). $125 

The West Chester Group 
P.O. Box 1304 
West Chester, PA 19380 
(215)644-4206 

ADVANCED MODULA-2 TOOLS 

REPERTOIRE: $64. includes 360K of Logitech or 
ITC Modula-2 source code: screen compiler and 
fast display system with input checking, help, 
windows, menus, colors; auto-adapts to hard¬ 
ware. Integrated multiwindow editor; natural- 
language analyzer. DOS & BIOS tools. FREE 
documentation & demo disk. MC/VISA 
PMI 

4536 SE 50th 

Portland, OR 97206(503)293-7706 
MCI Mail: PMI; CompuServe: 74706,262 

WORK HORSE BY USERSOFT 

The BASIC code generator that provides: 

1) screen painting 2) help screens 

3) structured programs 4) maintainable code 
5) cuts programming time 6) INKEY$ routine 
7) merging 8) printing 9) cross-references 
10) runs interpretively or can be compiled. 

All this and more for just $59.00. 

USERSOFT, Inc. 

P.O. Box 517 
Manteo, NC 27954 
(919)473-1970 


BASIC PROGRAMMERS 

ADD MORE HORSEPOWER TO YOUR PRO¬ 
GRAMS!! Use THE BASIC ENGINE™ to build 
YOUR programs in FAST compiled BASIC. Add 
your modules to a working core of assembly 
routines, menus, data screens, pop-up help, sort, 
more; over 60 subroutines. Complete source for 
two working programs, full instructions, $79.95. 
Requires DOS 2+, MS-QuickBASIC compiler. 
Praxis Software Engineering Associates 
370 Andrews St. 

Green River, WY 82935-4846 
(307)875-9626 

THE PL/M CONNECTION 

• Develop PC software with your PL/M compiler. 

• Complete Interface to PC-DOS and PC-BIOS 

• Fast Graphics Routines example programs 

• All source files are included 

• 200 page Technical Reference Manual 

• $295.00 No Royalties. 

CompuFirm Corporation 
7841 Balboa Ave #108 
San Diego, CA 92111 
(619)571-0228 


Software/Edit 


Lil’Jake 

“The WORLD’S GREATEST Editor.” That’s what 
our users say about Lil’Jake. 

‘Edit multiple files 
‘DOS commands 

Comprehensive (terse/verbose) online help 
‘Programming support BASIC, DOS & BIOS 
‘MACRO facility 

We’re so sure you’ll like it, we want to send you 
a copy for a free 60-day evaluation. $49.95 + 
s/h To order: Write or CALL NOW! 

Fooks Matthewson Company 
P.O. Box 2424 (Oper-28) 

Arlington, VA 22202 
(703)684-8284 


Software/ 

Engineering 


PRODUCTIVITY TOOLS 

SRMS™ Software Revision Management Sys¬ 
tem stores all versions of source code in a single 
library. Allows retrieval of any version of source 
and application of changes while recording when, 
why, and where changes were made with no du¬ 
plication of common code. DOS pathname, di¬ 
rectory, and environment variable support, 
typeset manual, much more. 

New version (2.0).$125.00. 

QMAKE™ is an intelligent system builder pat¬ 
terned after the UNIX make utility only compiles 
those routines that have changed since last build. 
Support for macros, multiple entry points, com¬ 
mand line parameters. Integrates fully with 

SRMS™.$99.00. 

MS/PC-DOS 2.0 (MN plus 6%) MC/VISA 
QUILT™ COMPUTING 
7048 Stratford Rd. 

Woodbury, Minnesota 55125 
(612)739-4560 

Better BASIC Programmers 

BetterTOOLS 2.00 SPEEDS BetterBASIC 1.1/2.0 
development. Includes: 190+ useful tools in 17 
modules, manual, and source code. No royal¬ 
ties. Quicksort, screen builder, extended math, 
disk directories, display and printer routines, 
powerful input, data encryption, on-line error 
descriptions, much more. Only $89. VISA, MC, 
COD. 

SOFTWARE ASSOCIATES 
6220 W. Airport Blvd. 

Houston, TX 77035 
(713)726-0706 


smARTWORK® 

Printed-circuit artwork editor for double-sided 
boards up to 10" by 16", runs on an IBM-PC. Color 
display allows complete interactive control over 
the placement and routing process. 2X artwork 
can be made on a dot-matrix printer or pen-and- 
ink plotter, $895. Write or call for a brochure. 



WINTKK 


WINTEK Corporation 
1801 South Street 
Lafayette, IN 47904-2993 
(317)742-8428 

METAL FABRICATORS 

PC/Cutlist takes input from your bill of mate¬ 
rial—Detail drawing and calculates the best 
cutting combination for any length stock and 
prints a shop ready cutting list and scrap report. 
Also an optimization feature finds best mult length 
for mill orders. Price $300. Demo Disk $25.00 
THE JOSEPH ALBERT CO. 

P.O. Box 611 

Blue Island, Illinois 60406 
(312)349-9032 

PC/8087 ARRAY PROCESSING 

The VECTOR87 library is written in assembler, 
includes 60 subroutines to speed scientific pro¬ 
grams by 2 to 18x. FFT, vector operations, con¬ 
volution, etc. 1K real FFT takes 1.2 second. Also 
Fortran 2D FFT, linear equation solvers. Ver¬ 
sions for Lattice C, MS C, IBM Pro Fortran, MS 
Fortran. $120 each w/source. Check/PO/VISA. 
VECTORPLEX Data Systems Ltd. 

P.O. Box 138 Station M 

Calgary, Alberta, Canada T2P 2H6 

(403)248-1250 


JUNE 1986 


213 






















TECH BOOK 


CREATE PCB’s EASILY 

Easily create double-sided printed circuit board 
artwork of up to 21" square using PC-Layout on 
an IBM-PC. the artwork is created using a color 
artwork editor, the final artwork, solder mask and 
silk-screen (text) is produced using either a printer 
or a plotter. Price $745. Demo disk/manual $45. 
Demo disk credited to final purchase. 

Draco Technology 

7210 Jordan Ave., Suite D50 

Canoga Park, CA 91303 

(800) 235-6646 ext. 646 (outside CA) 

(800) 235-6647 ext. 646 (CA only) 


Software/Financial 


IRRworks™ $25 

Are YOU using a spreadsheet for IRR’s? Full 
screen menu and pop-up windows make IRR & 
PV simple. Fast computation, up to 360 uneven 
periods. Easy input: steps, % growth, replica¬ 
tion. FRACTIONAL PERIODS! Automatic rate 
conversion. Name & save cases: simple case 
management. 256K, color/mono, 30 day $ back 
guarantee, $25 chk/VISA/MC. 

Keep It Simple Software, Inc 
211 East 43rd Street 
New York, NY 10017 
(800)848-8909 

Homeworks $25 

Home-buyers, realtors, lawyers, bankers: Com¬ 
pute mortgage payments & totals, any payment 
period. DETERMINE $$$ YOU CAN BORROW. 
Print detailed amortization schedules & yearly 
totals. Name & save cases: simple case mgt. Full 
screen, windows, help, fast, 196K, color/mono, 
30 day $back guar’tee, $25 chk/MC/VISA. 

Keep It Simple Software, Inc. 

211 East 43rd Street 
New York, N.Y. 10017 
(800)848-8909 

FINANCIAL CALCULATOR 

Memory resident software for PC/XT/AT or 
compatible computers. Non-resident version also 
available. Loan amortization, internal rate of re¬ 
turn, IRA, real estate, savings, depreciation, and 
much more!!! FREE shipping in the U.S. 30 day 
money back guarantee. 

NOT COPY PROTECTED. $49. 

OPUS Engineering 
5825 Vargas Ct. 

San Jose, CA 95120 
(408)997-1503 


Software/General 


PUBLIC DOMAIN SOFTWARE IN C 

Over 60 volumes of public domain software in 
CP/M & MS-DOS formats. 

• editors & compilers 

• text formatters 

• communications packages 

• many UNIX-like tools 
Write or call for more details. 



Users' 

Group 


THE C USERS’GROUP 
P.O. Box 97 

McPherson, KS 67460 
(316)241-1065 


Software/Graphics 


TEKTRONIX 4010 EMULATION 

High resolution screen/printer graphics for the 
IBM PC. Full interactive capabilities with file 
transfer and cross-hair control. Utilizes PLOT 10, 
protocols. OFF-line review of graphics output. 
Supports IBM color/graphic or Hercules cards. 
Easy to use 4010 emulation at an affordable price. 
$80.00. Demo disk $5. 

Technological Systems Group 
5044 Haley Court 
Lilburn, GA 30247 
(404)923-4980 

PLOTTER SOFTWARE 

Presentation aides (word charts) are quick and 
easy to prepare using the DGISIGNMAKER. With 
the DGI SIGNMAKER, your PC and plotter (IBM, 
HR HI, Epson) your overheads, text slides or signs 
will have that professional look. $75. For addi¬ 
tional information, ordering or to check compat¬ 
ibility contact: 

Decision Graphics, Inc. 

P.O. Box 2776 
Littleton, CO 80161 
303-796-0341 

MetaWINDOW™ 

Advanced graphics toolkit provides Xerox Star/ 
Apple Macintosh style graphics on your IBM PC. 
Supports most popular graphics cards. Allows 
you to create pop-up menus, windows & icons; 
use proportionally spaced fonts; rubberband & 
drag lines, text or bitmap images; supports 
mouse-cursor tracking. Tightly optimized for use 
with Turbo Pascal, IBM Pascal, C, Fortran & 
Compiled Basic 

METAGRAPHICS SOFTWARE CORP. 

4574 Scotts Valley Drive 
Scotts Valley, CA 95066 
(408)438-5352 


TERMINAL EMULATION 

For under $100, MicroPlot’s PC-Plot III graphics 
emulator software package will enable your IBM 
PC and compatibles to appear to a mainframe 
as a DEC VT-100/VT-52, a Retrographics VT- 
640, a Tektronix 4010/4014 or a partial Tektro¬ 
nix 4027. Call 1-800-338-0333, In Ohio 
1-800-242-0333. Operator ID.: 766-8501 
MicroPlot 

659-H Park Meadow Road 
Westerville, OH 43081 
(614)882-4786 

SCIENTIFIC DATA PLOTTING 

SCI-GRAF creates graphs up to 1680 x 1712 dots 
(over 3 million pixels!) on Epson or IBM graphics 
printers. Supports log scaling, overlays, point¬ 
labeling, legend creation, batch mode, wide- 
carriage printers, and color graphs on a JX-80. 
Requires DOS 2 or 3, 256K. No credit cards. 
$99.95 

Microcomputer Systems Consultants (MSC) 
27-P Forest Avenue 
Port Jefferson Station, NY 11776 
(516)928-7493 


Software/Languages 


EASY WAY TO MASTER DOS! 

New handbook shows how, why, and when to 
use all 44 PC & MS DOS commands quickly and 
easily! Lively hands-on tutorial makes learning 
fun, for a change. Covers basic thru advanced 
topics. All versions up to 3.1. Lots of practical 
examples. 221 pages only $15.95 at book¬ 
stores, or send check + $1.00 S&H to: 

LITTLE, BROWN & COMPANY PUBLISHERS 
200 West Street, Code T-368121 
Waltham, MA 02254 
1 -800-343-9204 (credit cards) 

FREE 8088 TUTOR Monitor 

Learn 8088 assembly language using the new 
book, IBM PC-8088 Assembly Language Pro¬ 
gramming, by Richard E. Haskell. Order the book 
for $25 plus $3 s/h and get the powerful TUTOR 
monitor software free. Load and examine any disk 
file, disassemble any 8088 code, debug EXE files. 
Satisfaction guaranteed. 

REHI Books 

54 N. Adams, Suite 130-T 
Rochester Hills, Ml 48063 
(313)853-1941 


Software/One Of A 
Kind 


INTRODUCING-JORJ 

JORJ- The first and only phonetic dictionary! 50K 
words/15K definitions. Finds words super fast 
for both good/poor spellers. JOSE a fun word- 
game is included in iinitial release as a bonus. 
Requires IBM-PC D0S2 & Hard disk. Copy pro¬ 
tected. Price $100. JORJ demo disk $10. Check/ 
M.O. Mich, residents add 4% sales tax. 

JORJ SOFTWARE CO. 

4354 Fletcher Rd. 

Manchester, Ml 48158 
(313)428-8010 


Software/Operating 

Systems 


UN/EMULATOR BY WAWA 

Run CPM on your PC or clone at MACHINE 
SPEED. UN/EMULATOR runs native 8080 code 
and increases DOS performance by 10%. We 
include disk conversion software, terminal em¬ 
ulators, and serial transfer utility. Available in 5 
MHz and 8 MHz. Starting at $99.95 plus $5 S&H. 
Dealer inquiries welcome. Call or write: 
WEITZMAN AND WOOD ASSOCIATES 
580 N.W. 99th Way 
Pembroke Pines, FL 33024 
(305)432-8025 


Software/Scientific 


SPARSE/DENSE MATRIX 

MATRIX: Does to matrix what TK! solver did for 
numbers. Solves lin/nonlin/diff eqns. Program¬ 
mable Matrix functions. $59.95 
SPARSEPACK: Turbo Pascal source code for 
user-transparent Sparse Matrix handling. Over¬ 
come 64K barrier and more. $49.95. VISA/MC 
call 1-800-835-2246 ext. 80. 

SoftTech Inc. 

18505 W. 8 mile. 

Detroit, Ml 48219 
1-313-544-8544 


Software/Security 


SECURE AT/XT/PC 

Control system access, data access! FiXT/S. 
Control system boot for most popular XT/PC hard 
disk controllers. Vfeature for AT-and-XT-com- 
patible HD controllers segments hard disk by 
volumes, controls access with passwords, sup¬ 
ports hard disk expansion. $80 $120+$3 shpg. 
plus CA tax. 



Golden Bow Systems 
2870 Fifth Ave. Suite 201 
San Diego, CA 92103 
(619)298-9349 

BITLOCK® SECURITY 

Proven effectiveness of powerful multilayered 
security on IBM PC/XT/AT Compatibles. TRS- 
80, Apple & Commodore computers using rapid 
decryption algorithms. Total transarency after 
easy attachment of small reliable security de¬ 
vice to external port. Inexpensive, yet has sur¬ 
vived piracy attempts > 3V2 years. 
MICROCOMPUTER APPLICATIONS 
7805 S. Windmere Circle 
Littleton, CO 80120 
(303) 798-7683 or 922-6410 


214 


PC TECH JOURNAL 
























TECH BOOK 


SMART COPY PROTECTION 

Attention Software Developers: 

In the past, Copy-Protecting your program or 
system meant inconvenience to the end-user, 
complicated production techniques and a lot of 
added expense per product copy. Our new EV- 
ERLOCK product has solved these problems. For 
IBM PC/XT/AT and compatibles. Call us. 
Az-Tech Software, Inc. 

426 Grandview 
Richmond, MO 64085 
(816)776-8153 

SIDEVIEW: PC/AT MENU 

Password protect your hard disk today! DOS 3.0/ 
3.1 hard disk manager. Allows you to create color 
menus to run any program or DOS command. 
Prevent hard disk erasure. Works with XT’s too. 
25 pg manual. Money back guarantee. PO’s & 
phone orders accepted. $39 + $3 shpg. 

Keller Software 
1825 Westcliff Drive 
Newport Beach, CA 92660 
714-642-5544 


Software/Services 


TAPE/DISK CONVERSIONS 

Conversion services to or from over 500 com¬ 
puter systems: 

• Magtapes 

• Micro Computers 

• Mini Computers 

• Word Processors 

• Typesetters 

Our conversion capabilities surpass most in the 
industry. 

Pivar Computing Services, Inc. 

165 Arlington Hgts. Rd.#T 
Buffalo Grove, IL 60089 
(312)459-6010 

TAPE AND DISK CONVERSIONS 

TO/FROM cards, disk, tape ASCII/EBCDIC 
specializing in IBM-PC/XT/AT and compatibles. 
Reasonable prices, satisfaction guaranteed. To¬ 
tal Data Processing services with in-house 
mainframe. 

D.P Modern Systems 
804 N. Reeder Ave. 

Covina, CA 91724 
(818)966-2628 


Software/Statistics 


RATS! 

RATS is the ultimate econometric software 
package. It is powerful, fast, accurate, and in¬ 
expensive. RATS performs regression analysis, 
time-series forecasting (including Box-Jenkins) 
and cross-section (including logit and probit). 
RATS supports a variety of data formats, includ¬ 
ing Lotus WKS files. RATS also offers a pro¬ 
gramming language that provides maximum 
flexibility and power. Spectral analysis and 
graphics are available as options. Base pro¬ 
gram $200. Demo including 300 page manual 
$40. MC/VISA. 

VAR Econometrics 
P.O. Box 19334 
Minneapolis, MN 55419 
(612)822-9690 


ELF-THE STATISTICAL PKG. 

Interface with Dbase and Lotus files or will cre¬ 
ate its own. Factor analysis, stepwise regres¬ 
sion, discriminant analysis, 1&2 way anova 
crosstabs, correlations, t-test, frequencies, 
transformations.... unlimited observations, 500 
variables in database. All new and improved 
manual. 30-day examination. Call for more. 

The Winchendon Group, Inc. 

P.O. Box 10339 
Alexandria, VA 22310 
(703)960-2587 


Software/Terminal 

Emulation 


VT-102& 4010 EMULATION 

PC 102 turns an IBM PC/XT/AT/jr to a VT-102/ 
100/52 terminal with printer/file transfer sup¬ 
port. Optional: 132 col., 4010 graphics support. 
Guaranteed compatibility with all VT-100/52 
applications including EDT, WORD II, All-In-One, 
& UNIX. Easy to use. 3000+ sold. From $89. MC/ 
VISA/COD. Call for free package! Moneyback 
guarantee. 

General Micro Systems 
P.O. Box 5330 
Hopkins, MN 55343 
(612)944-0593 


Software/Utilities 


AT/XT/PC HARD DISK EXPANSION 

“Replace hard disk with a bigger one, or add a 
second drive! Vfeature BREAKS THE 33 MBYTE 
BARRIER on standard AT, XT, and compatible 
hard disk controllers. Includes multiple vol¬ 
umes, security features, selectable clusters, 
keyboard lock. $80-$120 + $3 shipping + CA 
Tax” 



Golden Bow Systems 
2870 Fifth Avenue, Suite 201 
San Diego, CA 92103 
(619)298-9349 

DISK MECHANIC 

THE ULTIMATE Floppy Disk Backup & Repair 
Utility. Can back up ALL software protected disks 
written on the IBM PC. Works manually or au¬ 
tomatically. Files or sectors can be restored, 
searched, examined & changed. Checks disk 
drive speed, req. IBM PC, XT, AT, DOS 1, 2, 3, 
192K + 64K if only 1 floppy drive. $73 ppd. USA 
MU MICROSYSTEMS 
PO BOX 825, Dept TB2 
Framingham, MA 01701 USA 
(617) 926-2055 for info MC/VISA 


CHARACTER CUSTOMIZATION 

CHARGENI 2.1 works with the IBM EGA to let you 
modify the character set, allowing many word 
processors to display technical material, equa¬ 
tions or other special characters. Also works on 
the Color/Graphics Adapter in graphics modes. 
Requres DOS 2.x or 3.x, IBM Standard or En¬ 
hanced Graphics Adapter. $35 + $2 s/h (MN add 
6 %). 

DK Micro Consultants 
P.O. Box 6714 
Minneapolis, MN 55406 
(612)722-0931 

MenuWorks™ $25 

Using a PC becomes as easy as turning it on: 
Start up all programs from menu. Customize 
selection screen. Just Tab & Enter to Run. 
Prompts for input if needed. Super slick editor 
to set up menu; easy to change. Fast. Full screen, 
windows, help, 196K, color/mono, 30 day $ back 
guarantee, $25 chk/VISA/MC. 

Keep It Simple Software, Inc. 

211 East 43rd Street 
New York, NY 10017 
(800)848-8909 

dirWorks™ $25 

PC users: avoid DOS drudgery! Complete disk 
mgt made simple: copy, erase, rename, format, 
all directory commands and TONS more. Mul¬ 
tiple file & directory operations, Sorts display by 
time, date & alpha. Edit files without going to 
DOS. Full screen, windows, help. Fast, 196K, 
color/mono, novice & expert mode, 30 day $ back 
guarantee, $25 chk/VISA/MC. 

Keep It Simple Software 
211 East 43rd Street 
New York, NY 10017 
(800)848-8909 

JetWorks™ $25 

Attention HP LaserJet users: Control LaserJet & 
forget escape sequences forever. Full menu and 
window selection for all options & cartridges. 
Creates batch files to avoid repetitive setups. 
Prefab font files for all current cartridges. Full 
screen, windows, help, fast & simple, 196K, 
color/mono, 30 day $back guarantee, $25 chk/ 
VISA/MC. 

Keep It Simple Software, Inc. 

New York, NY 10017 
(800)848-8909 


PC-COMPANION 

Menu subsystem, a must for any PC with a hard 
disk supporting multiple applications or users. 
Single key stroke execution of software. 15 en¬ 
tries per menu. Set drive, path, directory, printer. 
Password access to menus. Supports all types 
of command execution Command logging. 
Screen colors definable. Written in assembler for 
rapid access. Requires 32k MSDOS/PCDOS 2.0 
or higher. $39.95 (TX resident add 6.125% tax). 
BINARY ENGINEERING 
12841 Jones Rd. Suite 101 
Houston, TX 77070 
(713)995-3770 VISA/MC 

TallScreen—DOS POWER 

Natural extension of DOS. Scroll back through 
screen output, edit text on full screen, mark blocks 
to printer or file, recall commands & directories, 
enter multiple commands, capture screens from 
application programs, create user profiles. Solid 
tech support. A real bargain at $49.95 
VISA/MC 



QUALITAS™ 


Qualitas, Inc. 

8314 Thoreau Drive 
Bethesda.MD 20817 
(301)369-8848 

EXTENDED FILE UTILITIES 

Replace MS-DOS COPY, DELETE, RENAME with 
these fast, powerful utilities (DOS 2.0 or later). 
File lists with commas, optional confirmation 
querying, access to hidden/system files, ASCII¬ 
mode copying. Just $15 + $1.95 s/h (MA res. 
add .75 tax), MC/VISA OK. 

Pocumtuck Valley Software 
P.O. Box 156-A 
South Deerfield, MA 01373 

EFFICIENT DOS 

PCED: Use DOS more efficiently without menus, 
batch files, keyboard enhances. Command edi¬ 
tor with recall; synonyms execute one or many 
commands with batch-style variables; auto¬ 
matic parameter recall; command logging; 
MUCH more. Very flexible. Recommended by 
Doctor Dobbs and CPCUG. $35 plus $4 s/h; 
VISA/MC. 

The Cove Software Group 
P.O. Box 1072 
Columbia, MD 21044 
(301)992-9371 

CONCURRENT DOS BACKUP 

BackPack™ runs like BACKUP/RESTORE and 
supports DOS and CP/M media as well as users. 
Backs up and restores up to lOOOK/min. on an 
AT and 360K/min. on an XT. Supports release 
4.1. Also available on CP/M-80 and CP/M plus. 
$150. 

Bright Light, Inc. 

520 Fellowship Rd. #C301 
Mt. Laurel, NJ 08054 
(609)778-0772 


JUNE 1986 


215 



















TECH BOOK 


Directory extended™ 

BE IN COMMAND! New version of very popular 
command-oriented file manager! POWERFUL 
batch file generation-perform any task! FLEXI¬ 
BLE file matching and sorting! CONTROL file at¬ 
tributes! TEST file integrity!. MONITOR disk 
params; 2-col display! MUCH MORE! Send 
$35+$5 p&h (in TX, add tax); money back 
guarantee! 

Directory 

EXTENDED™ 

ECONO-SOFT Dept. T66 
9200 North Plaza #1906 
Austin, TX 78753 


HELL uva SHELL 

Most DOS interfaces are designed for IDIOTS! 
Get the BEST full-screen interactive directory 
around... DOS command recall... command 
aliasing... multiple commands at DOS prompt 
...find files anywhere on disk... find complex 
text patterns in files... browse files... copy files 
based on time stamp & MORE. Only $39! DOS 
2.0+, uses 96K memory. NCP! 

Dwarf Nebula Software 
666-SHELL 
P.O. Box 46, Dept. TJ 
Sugarland, TX 77487 

EASYINDXE PLUS™ 

Cross reference all source code by file name. 
Create index by page number. Unlimited num¬ 
ber of indexes and accessed files. Word or phrase 
indexes up to 59 characters. Table of contents 
generation, typesetting, and print formatting. 
Supports over 100 printers. $39.95 $3 shipping 
(CA. RES. ADD $2.60 Tax) 

Foreman Software 
977 Clayton St. D4 
San Francisco, CA 94117 
(415)665-6414 


TurboRef 4.0 

Pascal programmers get organized with 
TurboRef! TurboRef will cross reference a source 
program and create a program listing. TurboRef 
can process a list of files, will read “include” files, 
identifies line number for each reference. New 
release now avail. IBM PC and jr., XT, AT or com¬ 
patible, only $49.95; VISA/MC, or check. 


^ RACON SERVICES, INC. 

GRACON Services Inc. 

4632 Okemos Rd. 

Okemos, Ml 48864 
(517)349-4900 

TURBO PACKAGE for Turbo 
Pascal 

*Crash the 64K barrier. Forget MODULA2. 
*1000 times faster than chains or overlays. 
^Precompiler turns short calls into long calls. Run 
500K of memory resident code. 

*32 bit integer math toolbox, ASM. 

*Mix Turbo, TurboBCD, and Turbo-87. 

*Free information. 

*Turbo Package plus tools, $39.95. 
CONVERSATIONAL COMPUTER SYSTEMS 
5371 Verbena Road 
San Antonio, TX 78240 
(512)692-0353 


Software/Word 

Processing 


FORMATH™ TEXT-FORMATTER 

For technical texts. Sizes & places equations, 
matrices, ratios, integrals, big symbols, foot¬ 
notes. Macros, multiple fonts, 158 Greek/math 
symbols. Automatic hyphenation, section/ 
equation/reference numbering, indexes, table of 
contents. Dot-matrix, daisywheel, laser printers, 
plain/graphics monitors. $400. $50 for demo. 



SHANTHA SOFTWARE, INC. 

50 West 97th St. Room 11N 
New York City 10025 
212-222-7647 

Touch-tone Toll-free: 950-1088-wait-FORMATH 


INDEX TO ADVERTISERS pc tech journal june 1986 


READER 

SERVICE NUMBER ADVERTISER PAGE 


102 ADIC...132 

109 AST Research, Inc.25 

110 AST Research, Inc. 44-45 

190 Advanced Development Technologies.141 

116 Advanced Logic Research, Inc.Cover 3 

199 Advanced Logic Research, Inc.90 

106 Alcyon Corp.150 

101 Alpha Computer Corp.149 

200 Alsys Inc. 78-79 

218 American Small Business Computers. 8 

214 Answer Software.202 

136 Arity Corp. 163 

203 Atron. 10 

249 Atron. 190 

105 Barrington Systems, Inc...; 14-15 

114 Blaise Computing, Inc. 174 

253 Borland International. 35 

254 Borland International....,...37 

252 Borland International.39 

255 Borland International.41 

107 Bruce Newman Company...162 

217 CXI, Inc. 135 

111 Catamount Corp...:. 170 

156 Cauzin Systems, Inc.9 

213 Central Point Software.-.27 

139 Chalcedony Software.191 

140 Chalcedony Software.193 

189 Coefficient Systems.161 

227 Command Technology Corp. 114 

117 Cordata, Inc...—.6-7 

* Creative Programming Consultants.22 

103 DTSS, Inc.. 20 

118 Data Access Corp. 68 

215 Data Base Decisions.5 

104 Dynamus Micro-Data Systems, Inc. 201 

225 Dynatec Systems, Inc.:. .117 

131 Ecosoft. 118 

170 Ellis Computing.175 

121 Emerald Technology Group.1 

158 Entelekon.119 

120 Essential Software, Inc.146 

134 Everex Systems, Inc. 60 

135 Everex Systems, Inc.62 

119 FairCom....197 

108 Fifth Generation Systems.122 

125 Fifth Generation Systems. 147 


READER 

SERVICE NUMBER ADVERTISER PAGE 


137 Flexus International Corp..... 107 

138 Foresight Resources Corp.148 

141 Gateway Communications, Inc.64 

* Gimpel Software....139 

122 Gold Hill Computers, Inc.66 

113 HavenTree Software Limited.142 

155 Hayes Microcomputer Products, Inc.74 

149 IBEX Computer Corp.192 

248 IBM Corp..108109 

202 I-Bus Systems..205 

216 Intel Corp. 76-77 

204 John Fluke Manufacturing Co., Inc.. 164 

112 KADAK Products, Ltd.178 

148 Kurtzberg Computer Systems.197 

128 Lahey Computer Systems, Inc. 160 

160 Lattice, Inc...:.18 

144 Lifeboat Associates.137 

229 Logitech, Inc.121 

146 MDS, Inc. 208 

133 MEF Environmental. 192 

208 Manx Software.56 

205 Mark Williams Co...:...21 

154 Micro Focus.24 

* Microsoft. 30 

* Microsoft... 101 

* Microsoft.171 

167 Microstuf.Cover 4 

169 MicroWay... 84 

166 Novell.28-29 

222 Opt-Tech Data Processing.4 

142 Orchid Technology. 13 

185 Overland Data, Inc.170 

171 PC Brand.151 

172 PC Brand.152-153 

145 PC’s Limited. 129-131 

230 Paradise Systems, Inc. 23 

150 Peter Norton...158 

159 Prentice-Hall.116 

161 Prentice-Hall...159 

198 Pro/Am Software.165 

175 Programmer’s Connection.49-51 

220 Programmer’s Shop.46 

162 Programmer’s Shop.184 


READER 

SERVICE NUMBER ADVERTISER PAGE 


151 Programmer’s Shop.185 

147 Quadram Corp.58 

181 Rational Systems, Inc.169 

240 Readiware Systems, Inc.134 

165 Real Time Devices, Inc. 173 

143 Relational Database Systems, Inc.88 

174 Ryan-McFarland.180 


228 Schuller & Associates.,.177 

187 Scientific Endeavors.173 

124 Seattle Telecom & Data, Inc. 94 

164 SofCap, Inc.-.189 

201 SoftCraft.-.2 

192 Software Bottling Co. of NY.26 

127 Software of the Future.136 

196 Software Link.70 

168 Software Masters.113 

163 Software Masters. 166 

173 Software Security. 200 

123 Solution Systems... 16 

130 Solution Systems..'..27 

126 Solution Systems.198 

129 Solution Systems.198 

176 SOPHCO.112 

242 Spruce Technology Corp.192 

177 Stargate Technologies, Inc...144 

183 Sterling Castle. 186 

195 Summit Software Technology, Inc.145 

152 Sunny Hill Software.120 

231 Systems & Software.196 

194 Tall Tree Systems.86 

197 Tall Tree Systems..Cover 2 

206 Tangent Technologies.199 

179 Tech PC.92 

182 TeleVideo.:.42-43 

178 Thompson Automation..138 

184 TORUS Systems, Inc. 143 

186 Trailridge Research, Inc. 168 

191 True BASIC, Inc.105 

193 TurboPower Software. .140 

115 Vermont Creative Software. 19 

212 Vu Data. 203 

188 Walonick Associates.106 

221 Wizard Systems Software, Inc...,.178 

219 Zanthe Information, Inc.172 

224 Zedcor, Inc. 167 


216 PC TECH JOURNAL 































































































































































INDEX TO PRODUCTS 


PC TECH JOURNAL JUNE 1986 


RS# PRODUCT 


ADVERTISER 


PAGE RS# PRODUCT 


ADVERTISER 


PAGE 


116 

199 

248 

179 

182 


110 

109 

225 

135 

216 

230 

147 

165 

124 

197 

194 

186 


102 

111 

202 

149 

185 

231 


117 


214 

156 

133 


213 

133 


173 


217 

121 

134 

125 

141 

155 

177 


189 

103 

160 

167 

166 

130 


101 

156 

188 


138 


136 

105 

252 

254 

253 

139 

131 

170 

* 

122 

128 

229 

208 

* 


181 

174 

129 

126 

195 


205 

191 

221 


IBM COMPUTERS AND COMPATIBLE UNITS 


PC 2/286 Advanced Logic Research ....Cover 3 

DART Advanced Logic Research .90 

IBM PC/AT IBM . 108-109 

Desktop Tech-Personal Computers . 92 

Televiaeo AT Televideo Systems, Inc.42-43 


ACCESSORY CARDS 

6 Pak Premium 
RAMpage! AT 
SUPERCHARGER 
Magic Card 
Above Board 

High Resolution Graphics Card 

QUADBOARD AT 

GPIB Interface 

Top Board 

JRam 3 

JLaser 

X-3 Multifunction 


AST Research Inc. 

AST Research Inc. 

Dynatec Systems, Inc. . 

Everex Systems, Inc. 

Intel Corn. 

Paradise Systems, Inc. . 

Quadram Corp.. 

Real Time Devices, Inc. 
Seattle Telecom & Data 

Tall Tree Systems . 

Tall Tree Systems . 

Trailridge Associates ... 


....44-45 

.25 

.117 

62 

.... 76-77 

.23 

.58 

.173 

.94 

Cover 2 

.86 

.168 


MASS STORAGE HARDWARE 

TD 440 ADIC .132 

9 Track Tape System Catamount Corp. ..170 

Expansion Chassis I-Bus Systems .205 

TS-100 for IBM PC/XT IBEX Computer Corp.192 

TC-50 and TC-PC Overland Data, Inc.170 

Perstor Systems & Software .196 

PRINTERS-PLOTTERS 

Cordata Laser Printer Cordata, Inc.6-7 


ALTERNATE INPUT DEVICES 


PDP Debugger Answer Software .202 

Softstrip Cauzin Systems . 9 

No Limit/Fortran/Pascal/C MEF Environmental .192 


190 

106 

200 

203 

249 

114 

255 

227 

* 


215 

104 


158 

120 

119 

137 

148 

144 

146 

154 

222 

171 

172 
150 
198 
201 
168 
127 
123 
242 
183 
152 
206 
192 


193 

115 


INTEGRATED CIRCUITS 


224 


Copy II PC Central Point Software .27 

No Limit/Fortran/Pascal/C MEF Environmental .192 


PROGRAMMER’S TOOLS 

The CREATOR 

C68 

The PC-AT Compiler 
PC Probe 
Software Source 
Programming Tools 
Turbo Editor 
SPF/PC Editor 
“Vitamin C” 

Periscope 

Zipcalc 

C- Library/C-W indows 

C Utility Library 

CTree 

Screenplay 

C Tree Query 

Utilities, Editors 

HELP/Control 

VS Cobol Workbench 

Productivity Tools 

Various 

Various 

Norton Editor 

DIS n DATa 

B-Trieve 

The Visible Computer 

Window Dos 

BRIEF 

FirsTime 

Basic Prog. Tools 

TASKVIEW 

Turbo-Task 

Flashcode, Screen Sculptor, 
Flash-up Windows 
Turbo Extender 
Windows for C, Windows for 
Data 
Z BASIC 


Advanced Development 

Technologies .141 

Alcyon Corp.150 

Alsys, Inc.78-79 

Atron .10 

Atron . 190 

Blaise Computing, Inc.174 

Borland International .41 

Command Technology Corp.114 

Creative Programming 

Consultants .22 

Data Base Decisions ..5 


Dynamus Micro-Data Systems 

Inc... 

Entelekon . 

Essential Software, Inc. 

FairCom . 

Flexus International Corp. 

Kurtzberg Computer Systems 

Lifeboat Associates .. 

MDS Inc. 

Micro Focus Ltd. 

Opt-Tech Data Processing .... 

PC Brand . 

PC Brand . 

Peter Norton Utilities . 

Pro/Am Software . 

SoftCraft . 

Software Masters .. 

Software of the Future, Inc. . 

Solution Systems . 

Spruce Technology . 

Sterling Castle . 

Sunny Hill Software . 

Tangent Technologies . 


.201 

.119 

.146 

.197 

.107 

.197 

.137 

.208 

.24 

.4 

.151 

152-153 

.158 

.165 

.2 

.113 

.136 

.16 

.192 

.186 

.120 

.199 


The Software Bottling Co. of NY . 26 
Turbo Power Software .140 


Vermont Creative Software .19 

Zedcor ...167 


SOFTWARE UTILITIES 


SECURITY DEVICES 

The BLOCK Software Security ...200 


COMMUNICATIONS HARDWARE 


CXI Remote 
5251 Emulation 
Evercom Modem 
Logical Connection 
Gateway 

Hayes Smartmodem 1200B 
Stargate OC8000 


CXI Inc. 

Emerald Technology Group . 

Everex Systems, Inc. 

Fifth Generation Systems . 

Gateway Communications, Inc. 
Hayes Microcomputer Products 
Stargate Technologies .... 


135 
. 1 

..60 
147 
.64 
.. 74 
144 


COMMUNICATIONS 


V-Term Coefficient Systems .161 

DaTapaSS DTSS, Inc. 20 

Side Talk Lattice, Inc.18 

Remote Microstuf .Cover 4 

“SFT NetWare System” Novell Inc.28-29 

ZAP Solution Systems .27 


SOFTWARE FOR PROFESSIONALS 


Fortran Support for IBM, PC, 

XT, AT Alpha Computer Service .149 

Softstrip System Cauzin Systems, Inc.9 

Statistics & Forecasting Walonick Associates .106 


ENGINEERING SOFTWARE 

Drafix I Foresight Resources Corp.148 


LANGUAGES 

Prolog Compiler 
Clarion 
Turbo Prolog 
Reflex 

Turbo Pascal Family 
PROLOG i 
‘Ecosoft C’ 

Utah Software 

C-Terp 

LISP 

F77L Lahey Fortran 
Modula 2 
Aztec C86 1.4 
Ouick BASIC 
Macro Assembler 
Instant-C 
Fortran 
TransLISP 
Prolog-86 
Better BASIC 

Let’s C 
True BASIC 
Wizard C-Compiler 


Arity ... 

Barrington Systems Inc. 

Borland International . 

Borland International . 

Borland International . 

Chalcedeony Software .. 

Ecosoft, Inc. 

Ellis Computing . 

Gimpel Software . 

Gola Hill Computers Inc.. 

Lahey Computer Systems . 

Logitech, Inc. 

Manx Software Systems ..■... 

Microsoft Corp... 

Microsoft Corp. 

Rational Systems . 

Ryan-McFarland . 

Solution Systems . 

Solution Systems . 

Summit Software Technology, 

Inc. 

The Mark Williams Company 

True BASIC, Inc. 

Wizard Systems Software, Inc. 


....163 

14-15 

.39 

.37 

.35 

...191 

...118 

....175 

....139 

.66 

...160 

....121 

.56 

....171 

. 101 

.... 169 

.180 

.198 

.198 

....145 

. 21 

.105 

....178 


101 Fortran Support for IBM PC, 

XT, AT Alpha Computer Service ..149 

107 File-Power Bruce Newman & Co.162 

140 Scout Chalcedeony Software .193 

108 Fastback Fifth Generation Systems .122 

204 PC Tester John Fluke Manufacturing Co.164 

228 file MASTER Schuller & Associates .177 

164 HD Tune-Up SofCap Inc. ... v .189 

163 ‘FLASH’ Software Masters .166 

176 “Sybil” SOPHCO .112 

178 Percent Thompson Automation .138 

GRAPHIC SOFTWARE 

218 Pro Design II American Small Business Comp.8 

138 Drafix I Foresight Resources Corp.148 

113 Flowchart HavenTree Software .....142 

187 Graphic Scientific Endeavors .173 

DATA BASE MANAGEMENT SOFTWARE 

118 Data Flex Data Access Corp. 68 

143 INFORMIX-SQL Relational Database Systems .88 

219 ZIM Zanthe Information, Inc.172 

OPERATING SYSTEMS 

112 Real-Time Multi KADAK Products Ltd.178 

MICROPROCESSORS 

142 PC Turbo 286E Orchid Technology .13 


NETWORKING PRODUCTS 

196 Multilink Advanced The Software Link .70 

184 Tapestry TORUS Systems, Inc.143 


ADDITIONAL SUPPLIES 

240 Readi Scope ReadiWare Systems .134 


HARDWARE DIAGNOSTIC TOOLS 

212 Model AID/88 Vu-Data .203 


LITERATURE 

* Newsletter Microsoft Coip.30 

161 Prentice-Hall Books Prentice-Hall Books .159 

159 Brady Books Prentice-Hall Books .116 


MAIL ORDER 

169 8087 Boards/2020 

Accelerator Card 
145 Mail Order 

175 Mail Order 

162 Mail Order 

151 Mailorder 

220 Mail Order 


Microway .84 

PC’s Limited .129-131 

Programmers Connection .49-51 

The Programmers Shop .184 

The Programmers Shop .185 

The Programmers Shop .46 


JUNE 1986 


217 

















































































































































JUNE 

June 3-5 

13th International 
Symposium on Computer 
Architecture 
Tokyo, Japan 

Sponsor: IEEE-CS, ACM, and 
Information Processing 
Society of Japan 
Contact: Shunichi Uchida, 
ICOT, Mita Kokusai Building 
2 IF, 4-28 Mita 1-Chome, Mi- 
nato-ku, Tokyo 108, Japan 

June 4-6 

National Educational 
Computing Conference 
San Diego, CA 

Sponsor: ACM, IEEE, SCS 
Contact: Susan M. Zgliczyn- 
ski, University of San Diego, 
School of Education, Alcala 
Park, San Diego, CA 92110 

June 16-19 
National Computer 
Conference 
Las Vegas, NV 

Sponsor: AFIPS, ACM, 
IEEE-CS, DPMA, and SCS 
Contact: AFIPS, 1899 Preston 
White Drive, Reston, VA 
22091; 703/620-8900 

June 22-25 

23rd Design Automation 

Conference 

Las Vegas, NV 

Sponsor: ACM SIGDA 
and IEEE-CS 

Contact: J. D. Nash, Raytheon 
Company, Bedford, MA 
01730; 617/274-7100, 
extension 4758 

June 22-August 1 

National Computer Camps 
CT, OH, GA 


Contact: National 
Computer Camps, Box 585- 
CA, Orange, CT, 06477; 
203/795-9667 

June 23-27 

Compiler Construction 
Palo Alto, CA 

Sponsor: ACM 

Contact: ACM 11 W. 42nd 

Street, New York NY 10036; 

212/575-1520 


JULY 

July 8-11 

UNIX: A Comprehensive 
Workshop 
Washington, DC 

Sponsor: Integrated 
Computer Systems 
Contact: Yolande Amundson, 
Integrated Computer Systems, 
6305 Arizona Place, P.O. 
Box 45405, Los Angeles, CA 
90045; 800/421-8166 

July 9-11 
PC EXPO 
New York, NY 

Contact: 333 Sylvan Avenue, 
Englewood Cliffs, NJ 07632; 
201/569-8542 

July 21-25 

European Conference on 
Artificial Intelligence 
Brighton, England 

Sponsor: European Coordi¬ 
nating Committee on Artifi¬ 
cial Intelligence and the 
Society for the Study of 
Artificial Intelligence and 
Simulation Behavior 
Contact: Benedict du Boulay, 
ECAI, The University of 
Sussex, Cognitive Studies 
Programme, Brighton 
BN1 9QN, UK. 


July 21-26 

Third International 
Conference on Logic 
Programming 
London, England 

Contact: Doug DeGroot, IBM 
Research, P.O. Box 218, 
Yorktown Heights, NY 10598 

July 22-25 
Ada Programming 
Workshop 
Washington, DC 

Sponsor: Integrated 
Computer Systems 
Contact: Yolande Amundson, 
Integrated Computer Systems, 
6305 Arizona Place, P.O. 

Box 45405, Los Angeles, CA 
90045; 800/421-8166 


AUGUST 

August 4-6 

LISP and Functional 
Programming 
Cambridge, MA 

Sponsor: Association for 
Computing Machinery 
Contact: Richard P. Gabriel, 
Lucid, Inc., 707 Laurel Street, 
Menlo Park, CA 94025 

August 5-7 

ACM SIGCOMM Futures in 
Communications 
Conference 
Stowe, VT 

Contact: Walter Kosinsky, 
Norwich University, North- 
field, VT 05663; 
802/485-5011, ext. 237 

August 11-13 

Symposium on Principles 
of distributed Computing 
Calgary, Alberta, Canada 

Sponsor: ACM SIGACT- 
SIGOPS 


Contact: ACM, 11 West 42nd 
Street, New York, NY 10036 

August 18-22 

13th Annual Conference 
on Computer Graphics 
and Interactive 
Techniques 
Dallas, TX 

Contact: SIGGRAPH 86 
Conference Management, 

111 East Wacker Drive, 

#600, Chicago, IL 60601; 
312/644-6610 

August 19-22 

1986 International 
Conference on Parallel 
Processing 
St. Charles, IL 

Sponsor: ACM 
Contact: IEEE-CS, 1730 
Massachusetts Avenue, NW, 
Washington, DC 20036-1903 


SEPTEMBER 

September 1-6 

World Computer 
Conference 
Dublin, Ireland 

Sponsor: International 
Federation for Information 
Processing 

Contact: IFIP Congress 
86, 1899 Preston White 
Drive, Reston, VA 22091; 
703/620-8900 

September 8-10 

NCC-Telecommunications 
Conference 
Philadelphia, PA 

Sponsor: AFIPS, ACM, DPMA, 
IEEE, SCS 

Contact: Mike Sherman, 
AFIPS, 1899 Preston White 
Drive, Reston, VA 22091; 
703/620-8935 


218 


PC TECH JOURNAL 


ILLUSTRATION • DAVID POVILAITIS 


































I 


h- 


Use these reader service cards to get 

FREE INFORMATION 


about the products and services 
in this issue of TECH JOURNAL 

Learning more about a product that’s advertised or mentioned in an article 
in this month’s issue is as simple as 1-2-3. And absolutely free. 


1 Print or type your name 
and address on 
the attached card. 

Use only one card per person. 


2 Circle the numbers on the card that 
correspond to the numbers at the bot¬ 
tom of the advertisements or articles 
for which you want more information. 

(Key numbers for advertised products also appear in 
the Advertisers’ index.) 


3 


Simply mail the card, 
and the literature 
will be mailed to you free 
of charge by the manufacturer. 



"T-"T" 

R 

(fit 

TI 

— 

! 

—I 

'A 

( 






4 



tH 

L 


Are you personally involved in 
the selection of microcomputers 
and related products for: 

I Your company or 
organization? 
a D Yes b D No 

2 Your client companies or 
organizations? 

<CI Yes °D No 

3 Are you planning to purchase 
in the next 6 months: 
e D PC Hardware? 
f D PC Software? 
g D PC Peripherals? 


101 116 

102 117 

103 118 

104 119 

105 120 

106 121 

107 122 

108 123 

109 124 

110 125 

111 126 

112 127 

113 128 

114 129 

115 130 


131 146 

132 147 

133 148 

134 149 

135 150 

136 151 

137 152 

138 153 

139 154 

140 155 

141 156 

142 157 

143 158 

144 159 

145 160 


161 176 

162 177 

163 178 

164 179 

165 180 

166 181 

167 182 

168 183 

169 184 

170 185 

171 186 

172 187 

173 188 

174 189 

175 190 


191 206 

192 207 

193 208 

194 209 

195 210 

196 211 

197 212 

198 213 

199 214 

200 215 

201 216 

202 217 

203 218 

204 219 

205 220 


221 236 

222 237 

223 238 

224 239 

225 240 

226 241 

227 242 

228 243 

229 244 

230 245 

231 246 

232 247 

233 248 

234 249 

235 250 


251 266 

252 267 

253 268 

254 269 

255 270 

256 271 

257 272 

258 273 

259 274 

260 275 

261 276 

262 277 

263 278 

264 279 

265 280 


281 296 311 

282 297 312 

283 298 313 

284 299 314 

285 300 315 

286 301 316 

287 302 317 

288 303 318 

289 304 319 

290 305 320 

291 306 321 

292 307 322 

293 308 323 

294 309 324 

295 310 325 


326 341 

327 342 

328 343 

329 344 

330 345 

331 346 

332 347 

333 348 

334 349 

335 350 

336 351 

337 352 

338 353 

339 354 

340 355 


356 371 386 

357 372 387 

358 373 388 

359 374 389 

360 375 390 

361 376 391 

362 377 392 

363 378 393 

364 379 394 

365 380 395 

366 381 396 

367 382 397 

368 383 398 

369 384 399 

370 385 400 


Please print clearly— Use only one card per person. 
Name_Phone (_ 


Void after September 30,1986 


Tide. 


Company. 
Address_ 


Apt. 


City_State_Zip_ 

(Zip code must be included to insure delivery.) 

□ Please send me 1 year (12 issues) of PC Tech Journal for $23.70 and bill me. 
I’ll save 50% off the single copy price! 



Are you personally involved in 
the selection of microcomputers 
and related products for: 

I Your company or 
organization? 
a D Yes b D No 

2 Your client companies or 
organizations? 

<0 Yes dQ No 

3 Are you planning to purchase 
in the next 6 months: 
e D PC Hardware? 
f D PC Software? 
g D PC Peripherals? 


101 116 

102 117 

103 118 

104 119 

105 120 

106 121 

107 122 

108 123 

109 124 

110 125 

111 126 

112 127 

113 128 

114 129 

115 130 


131 146 

132 147 

133 148 

134 149 

135 150 

136 151 

137 152 

138 153 

139 154 

140 155 

141 156 

142 157 

143 158 

144 159 

145 160 


161 176 

162 177 

163 178 

164 179 

165 180 

166 181 

167 182 

168 183 

169 184 

170 185 

171 186 

172 187 

173 188 

174 189 

175 190 


191 206 221 

192 207 222 

193 208 223 

194 209 224 

195 210 225 

196 211 226 

197 212 227 

198 213 228 

199 214 229 

200 215 230 

201 216 231 

202 217 232 

203 218 233 

204 219 234 

205 220 235 


236 251 

237 252 

238 253 

239 254 

240 255 

241 256 

242 257 

243 258 

244 259 

245 260 

246 261 

247 262 

248 263 

249 264 

250 265 


266 281 296 

267 282 297 

268 283 298 

269 284 299 

270 285 300 

271 286 301 

272 287 302 

273 288 303 

274 289 304 

275 290 305 

276 291 306 

277 292 307 

278 293 308 

279 294 309 

280 295 310 


311 326 

312 327 

313 328 

314 329 

315 330 

316 331 

317 332 

318 333 

319 334 

320 335 

321 336 

322 337 

323 338 

324 339 

325 340 


341 356 

342 357 

343 358 

344 359 

345 360 

346 361 

347 362 

348 363 

349 364 

350 365 

351 366 

352 367 

353 368 

354 369 

355 370 


371 386 

372 387 

373 388 

374 389 

375 390 

376 391 

377 392 

378 393 

379 394 

380 395 

381 396 

382 397 

383 398 

384 399 

385 400 


Please print clearly— Use only one card per person. 

Name 

Void after September 30,1986 

Title Phone ( ) 

Comoanv 

Address 

Apt. 

City State 

Zip 


a 


(Zip code must be included to insure delivery.) 

Please send me 1 year (12 issues) of PC Tech Journal for $23.70 and bill me. 
I’ll save 50% off the single copy price! TJ6861 








































































V 


FREE 

INFORMATION 

Follow the instructions 
on the reverse side of 
this card to 
receive advertisers’ 
product information. 

FREE. 




wmmammmmmmmmmmmmmmmmmmmmmgmm 


SUBSCRIBE 



NOW! 


Now’s an ideal time to 
consider having us start 
you as a PC Tech Jour¬ 
nal subscriber. 

12 issues cost you 
only $23.70... a savings 
of 50% off the single 
copy price. Just check 
the box at the bottom 
of the reply card. 


NO POSTAGE 
NECESSARY 
IF MAILED 
IN THE 

UNITED STATES 


BUSINESS REPLY MAIL 

FIRST CLASS PERMIT NO. 27346 PHILADELPHIA, PA 
Postage will be paid by addressee 



J 


NO POSTAGE 
NECESSARY 
IF MAILED 
IN THE 

UNITED STATES 


BUSINESS REPLY MAIL 

FIRST CLASS PERMIT NO. 27346 PHILADELPHIA, PA 
Postage will be paid by addressee 



ill 1 

OURNAL 


P.O. Box 40086 
Philadelphia, PA 19106-9931 


! 



























































Sometimes Waiting 
For Large Corporations 
To Introduce New 
Technology Is Like 
Watching Apes Evolve 



PC2/286 

$1545 

PC/XT Size 
Shown with 
Optional 
ALREGA 
Graphics 


DEALER INFORMATION CONTACT: MR. KIRKEY or MR. ANEIL 



20/30 MEG 
INTERNAL 
HARD DISK 
(OPTIONAL) 


ADD UP TO 2 HALF-HEIGHT FLOPPIES 
2 HALF-HEIGHT OR 1 FULL HEIGHT HARD DISK 


135 WATT 
POWER SUPPLY 


MOST OF US NEED SOLUTIONS 
NOW.IN THIS MILLENIUM! 

Ourengineers got tired of waiting fora prod- 
uctthat could succeed the legendary PC. So 
with our experience in designing and 
manufacturing some of the most powerful 
PC/XT and AT compatibles, we’ve engineered 
a PC with today’s technology to provide solu¬ 
tions for tomorrow’s challenges. 

Introducting the ALR PC2/286. 
The next generation. 

A computer with processing power 
equal to the 8MHz IBM AT com¬ 
puter (introduced April 1986), so 
you can solve problems 500 
times faster than with the 
original PC. 

A computer with more 
storage capacity. 
The PC2/286 inte¬ 
grates modern floppy 
technology allowing you to 
store 3 times more infor¬ 
mation than you could before. 

Evolutionary Winchester hard disk 
technology further enhances the power of the 
PC2/286. 

The PC2/286 incorporates all the best hard¬ 
ware developments of yesterday while 
maintaining the vital link of total shoftware 
compatibility through Phoenix Bios. 

The economy of modern technology allows 
the PS2/286 to be priced lower than the 
original PC and most other primitive PC 
compatibles. 

The Result is a 
$1545 Complete System. 

If you are tired of waiting for a maybe product, 
or you don’t want to buy yesterday’s 
techonolgy, then treat yourself to the perfor¬ 
mance and features of the PC2/286. 

Call and talk to our dealers or sales engineers 
for the product that says tomorrow. 


ALR IN CANADA 
416-229-6477 


>9IR 


ADVANCED LOGIC RESEARCH, INC. 10 CHRYSLER IRVINE, CA 92718 (714) 581-6770 ENGINEERING ADVANCED COMPUTERS 

CIRCLE NO. 116 ON READER SERVICE CARD 





























EXTEND 

YOUR 

COMPUTING 

POWER 


Remote lets you run almost any program, from any location, as if you were there 




Remote is the software that turns your personal computer in¬ 
to a host computer. You or anyone you choose can dial it up 
from almost any terminal in almost any location, and run most 
popular application programs such as word processing, spread¬ 
sheets, and data base managers. 

You’ll see the program on your remote terminal screen as if 
you were seated at the host PC. 

While Remote itself becomes transparent in use, it offers . 
some very tangible benefits: 

• You don’t need a second PC to do the job of two. Almost any 
terminal or terminal emulator will do. The only software you 
need is the software in your host PC. 


• Each of several different users can call in from anywhere in 
the world and use the host PC and software. Remote includes a 
sophisticated electronic mail system with encrypted messages 
and individual password protection. 

• You can transfer files to and from the host computer, using 
the Crosstalk or XMODEM protocol. 

• Programmers and software vendors can use Remote to debug 

a client’s software by phone, without leaving their own offices. 

• f ’ ; * 

Imagine the potential Remote has in extending the power of 
your own PC. Ask your dealer about it, or write for details. 

CROSSTALK and MICROSTUF are registered trademarks of Microstuf, Inc. 

REMOTE is a trademark of Microstuf, Inc. / .. —® 

IMICROSTUFI 

1000 Holcomb Woods Parkway 
Roswell, Georgia 30076 


CIRCLE NO. 167 ON READER SERVICE CARD